高分求助关于.net操作DBF,顶者有份

yeskele 2006-02-21 10:14:35
rt。
代码如下
using Microsoft.Data.Odbc;

string sConnectionString;
sConnectionString = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=C:\\DOC\\PCS\\DBF\\invoice.dbf;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
string sql = "select * from invoice.dbf";
OdbcConnection cnn = new OdbcConnection(sConnectionString);
cnn.Open();
OdbcCommand cmd = new OdbcCommand(sql, cnn);
string sts;
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
sts = dr[0].ToString();
}
dr.Close();
但是每次跑到cnn.open();那里就抱错。提示为:ERROR [IM001] [Microsoft][ODBC Driver Manager] Driver does not support this function
我查了一下这个的解决方法是装一个新版本的vfpodbc.dll。但是不知道怎么地,我就是装不上。
请各位帮我想想办法。。。
环境为xp+.net 2005

谢谢各位
...全文
291 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqqdong 2006-02-21
  • 打赏
  • 举报
回复
oledb:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=dBASE IV;User ID=Admin;Password=

yeskele 2006-02-21
  • 打赏
  • 举报
回复
谢谢各位拉,我已经解决了,下面把方案贴出来供大家讨论:
我用的是oledb来连接dbf
using System.Data.OleDb;

操作代码如下
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE 5.0;Password=;User ID=;Data Source=C:\\DBF\\");
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "select * from invoi.dbf";
cmd.Connection = conn;
OleDbDataReader reader = cmd.ExecuteReader();
string sts;
while (reader.Read())
{
sts = reader[0].ToString();
}
reader.Close();
//上面是查询,下面是插入数据
string sql = "insert into invoi.dbf (INVNO,INVDATE,INVAMT,PAYDATE,WORKNO,SMRNO,CONTCODE,WORKCOMP) VALUES('123456','02-04-2006','100.0','02-04-2006','32145','232','12','02-04-2006')";
cmd.CommandText = sql;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
结帐!
powerllr 2006-02-21
  • 打赏
  • 举报
回复
问了说一下连接是 System.Data.Odbc.OdbcConnection
powerllr 2006-02-21
  • 打赏
  • 举报
回复
DBF好像需要DNS
下面是一个.net生成的连接。 我的dbf文件放在 c:\1.dbf

Provider=MSDASQL.1;Persist Security Info=False;Data Source=Visual FoxPro Tables;Extended Properties="DSN=Visual FoxPro Tables;UID=;SourceDB=c:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"

希望对你有帮助
RoninBlade 2006-02-21
  • 打赏
  • 举报
回复
DBF没用过。帮顶
nick_nie 2006-02-21
  • 打赏
  • 举报
回复
这个很不 常用啊 !!
帮你顶!!!学习!
yeskele 2006-02-21
  • 打赏
  • 举报
回复
楼上的是说的
string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="

+sSourcePathName

+@";Extended Properties=""dBASE

IV;HDR=Yes;"";" ;
这种吗?
通过oledb去操作?
topso 2006-02-21
  • 打赏
  • 举报
回复
没用功这个数据库,帮忙顶
cow8063 2006-02-21
  • 打赏
  • 举报
回复
用 driver do microsoft dbase....或者其它看看 只有有(*.dbf的都行)
zzz2002zzz 2006-02-21
  • 打赏
  • 举报
回复
关注!
wengnet 2006-02-21
  • 打赏
  • 举报
回复
帮你顶~!不会~!
yeskele 2006-02-21
  • 打赏
  • 举报
回复
没办法。以前有些数据是存在哪里面的
Nokele 2006-02-21
  • 打赏
  • 举报
回复
up
为什么用Microsoft Visual FoxPro Driver?
yeskele 2006-02-21
  • 打赏
  • 举报
回复
沙发自己坐

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧