国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#編程向VFP數據庫中插入Numeric型的值

2019-11-18 16:55:05
字體:
來源:轉載
供稿:網友

C#編程向VFP數據庫中插入Numeric型的值 
 
  最近做一個C#程序,實現將SQLServer中的數據導入到Visual FoxPRo6.0的.dbf數據文件中。更新Numeric類型字段的值時出現錯誤:
System.Data.Odbc.OdbcException:ERROR [22018] [Microsoft][ODBC Visual FoxPro Driver]Data type mismatch.
原程序類似如下:
//------------------------------------------------------------------------
//到.dbf數據庫文件的ODBC連接字符串
string strOdbcConn = @" DRIVER=Microsoft Visual FoxProDriver;UID=;Collate=Machine;BackgroundFetch=Yes;      Exclusive=No;SourceType=DBF;SourceDB="+ strFilePath +";";
//獲取DataTable
string strSQL = "Select * From table1 ;
DataSet dataSet = new DataSet();  
OdbcDataAdapter odbcDA = new OdbcDataAdapter(strSQL,strOdbcConn);
odbcDA.Fill(dataSet,"table1");
DataTable table = dataSet.Tables["table1"];
//向DataTable中添加記錄   
DataRow row = table.NewRow();
row["DateFrom"] = Convert.ToDateTime("2005-09-10");//日期型字段
row["Num"]      = Convert.ToDecimal(10);//Numric(16,0)型字段
table.Rows.Add(row);
//更新到數據庫中
OdbcCommandBuilder builder = new OdbcCommandBuilder(odbcDA);
odbcDA.InsertCommand = builder.GetInsertCommand();
odbcDA.Update(dataSet,"table1");
//----------------------------------------------------------------
  程序運行時,在對row["Num"]賦值時并不出錯,執行到oodbcDA.Update(dataSet,"table1");時出錯,根源就在于
對row["Num"]的賦值,實在找不到好的解決辦法。
  后來,用SQL語句測試,如:update table1 set Num=10;執行正確,就想用SQL語句insert解決,經測試可行。
SQL-Insert語句如下:
  Insert Into table1(DateFrom, Num) Values({^2005-09-10},10)
  程序相應的改成如下的了:
//------------------------------------------------------------------
string strOdbcConn = @" DRIVER=Microsoft Visual FoxProDriver;UID=;Collate=Machine;BackgroundFetch=Yes;      Exclusive=No;SourceType=DBF;SourceDB="+ strFilePath +";";
OdbcConnection odbcConn = new OdbcConnection(strOdbcConn);
string sqlInsert = "Insert Into table1(DateFrom, Num) Values({^2005-09-10},10)";
OdbcCommand odbcComm = new OdbcCommand(sqlInsert,odbcConn);
odbcComm.Connection.Open();
odbcComm.ExecuteNonQuery();
odbcConn.Close();
//----------------------------------------------------------------

========================================================
其它關于VFP的信息:

1.VFP-SQL語句
----插入日期值:
insert into 1able1(日期字段) values({^2005-09-10})
----不支持如下語句(insert-select):
insert into table1
select * from table2

2.MS OLE DB Provider for VFP :
微軟網站:http://www.microsoft.com/downloads/details.aspx?FamilyID=e1a87d8f-2d58-491f-a0fa-95a3289c5fd4&DisplayLang=en提供了Microsoft OLE DB Provider for Visual FoxPro 9.0,會對編寫訪問VFP數據的程序有幫助。

3.更多微軟Visual FoxPro資源:
http://www.microsoft.com/downloads/info.aspx?na=13&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fbrowse.aspx%3fdisplaylang%3den%26productID%3dE794F2FC-0425-40AD-A292-39490679FA65

4.記住這個連接字符串:
string strOdbcConn = @" DRIVER=Microsoft Visual FoxProDriver;UID=;Collate=Machine;BackgroundFetch=Yes;      Exclusive=No;SourceType=DBF;SourceDB=D:/DataDBF/table1.dbf;";

=======================

夏春濤的blog: http://bluesky521.VEVb.com/
email: xchuntao@163.com   或   xchuntao@Gmail.com
QQ: 23106676
msn: xchuntao@163.com


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴塘县| 休宁县| 宁津县| 荃湾区| 凤台县| 霍山县| 宣汉县| 鄂尔多斯市| 武夷山市| 平陆县| 岱山县| 太湖县| 苏尼特左旗| 无极县| 太仆寺旗| 长汀县| 开原市| 高平市| 竹北市| 和静县| 措美县| 永兴县| 奉化市| 英吉沙县| 双桥区| 崇明县| 南郑县| 禹城市| 镇雄县| 浙江省| 麻栗坡县| 乌兰察布市| 星座| 莱西市| 长顺县| 道真| 务川| 若尔盖县| 青神县| 会理县| 兴国县|