首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> C#应用 -> C#编程向VFP数据库中插入Numeric型的值  
C#编程向VFP数据库中插入Numeric型的值


文章类别:C#应用 来源: 作者: 发表日期:2006-10-28 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

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.cnblogs.com/
email: xchuntao@163.com   或   xchuntao@gmail.com
QQ: 23106676
msn: xchuntao@163.com

上一篇:Photoshop基础教程:跟我学调色练习5-单色调 下一篇:虚拟主机下asp.net 2.0的导航控件treeview,menu等出错
本栏目热门文章
·C# Socket编程 2006-3-14
·[C#]解决读写包含汉字的txt文件时乱码的问题 2005-10-4
·在C#.net中将查询数据导入EXCEL表输出 2006-3-24
·c#操作word表格 2005-10-4
·使用C#在进度条中显示复制文件的进度 2005-11-13
·C#.Net网络程序开发-Socket篇 2006-3-14
·C#中使用SendMessage 2005-10-4
·利用C#进行AutoCAD的二次开发(一) 2005-10-4
·利用C#进行AutoCAD的二次开发(二) 2005-10-4
·用Visual C#获得计算机名称和IP地址 2005-10-4
新近更新文章
·用 C# 开发 SQL Server 2005 的自定义聚合函数 2006-11-16
·用C#对DBF数据库的操作 2006-11-16
·关于C#中的DateTime类型的细节问题 2006-11-16
·用C#实现由15位身份证号升级到18位的算法 2006-11-16
·C#进制转换 的记录 2006-11-9
·关于C#中的DLLImport 2006-11-9
·Visual C#创建和使用ActiveX组件 2006-11-5
·用C#实现智能设备上的NotifyIcon类 2006-11-5
·在C#中应用哈希表(Hashtable) 2006-10-28
·使用C#开发SmartPhone程序入门 2006-10-28
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: