我可以使用哪个数据提供程序从C_更新.dbf文件?
我尝试了一些不同的.dbf提供程序来创建一个数据源,但是我得到了这样一条消息:
“错误消息:error hyc00 Microsoft ODBC数据库驱动程序可选功能未实现。”
或者,当我使用update函数生成一个数据集和一个dataadapter时,我得到的是:“当传递带有修改行的datarow集合时,update需要一个有效的updatecommand。”
如果有人知道如何使用c中的.dbf并进行大量更新,请提供帮助。当我尝试逐个更新行时,速度太慢,因为提供程序在搜索大型.dbf文件时会浪费太多时间。也许有一种方法可以自动构建索引,而且数据源知道如何使用它?
另一种方法是将所有内容加载到数据集中,并在完成所有更改后进行更新,但更新部分暂时不起作用。
救命啊!
最佳答案
从您的coment about~1gb数据库中,我也使用vfp数据库(.dbf)文件格式,sql更新通过oledbcommand创建/执行不会有问题,并且可以使用vfp oledbprovider运行的任何本机命令。
为了删除一些字符,我通常使用函数chrtran()(也就是说,如果您确实使用visual foxpro ole db provider),在这里您可以逐字删除许多字符(例如无效字符),比如……
Update YourTable
set SomeField = chrtran( SomeField, "!@#$%^*(", "" )
将遍历所有记录并从字段(第一个参数)、单个字符的任何实例(第二个参数)中删除任何记录,并将其更改为在第三个参数中找到的相应字符…在这种情况下,没有值,只有一个空字符串,因此字符将被剥离。它本身就相当快,而且您不必一直扫描正在下载、测试和推后的所有记录。
同样,也不能肯定您使用的是哪个本机.dbf文件系统,但是vfp处理这种操作非常快。
关于.net - 从C#处理.dbf的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3206029/