当前位置:编程学习 > C#/ASP.NET >>

C# Access DataAdapter.Update()更新速度很慢,如何解决?3000条记录 20才完成持久化

测试数据3000条 dbf文件
1业务说明:对数据进行派生计算,通过数据表中的某些字段计算出一个新值,并将新值写到某个字段yssz中。
2测试方法:将数据放到DataTable中,进行计算,并将数据集中的yssz字段,赋计算结果。此操作速度不到一秒。下一步将数据集中的结果持久化到数据库,此过程速度很慢大约20秒左右。
3和Delphi比较:delphi,是直接操作数据表,数据表即使没关键值也实现该功能,不到两秒就完成了。
4疑问:为什么C#操作dbf或者是Access的更新操作速度会如此的慢。请高手指教。谢谢!! access c# delphi 数据库 --------------------编程问答-------------------- 你也可以试试"直接"操作,不用DataAdapter --------------------编程问答-------------------- 自己遍历DataTable每一行,参数化SQL,用ExecuteNonQuery()方法批量执行,外加事务,效率应该不错。 --------------------编程问答-------------------- 直接操作也很慢  --------------------编程问答-------------------- ExecuteNonQuery()  3000条记录 相当于执行3000次  5000条执行5000次 --------------------编程问答-------------------- delphi如何直接操作? --------------------编程问答-------------------- TADOCONNECTION连接到数据库,TTABLE连接到表  --------------------编程问答-------------------- for sh_i := 1 to tbl1.RecordCount do
begin
  ……编辑过程
   tbl1.Post; //提交
   tbl1.Next;
end
应该是游标遍历数据 --------------------编程问答-------------------- Access肯定支持事务的,DBF不清楚。参数化SQL百度一下就知道了。 --------------------编程问答-------------------- LingQ使用DataTable更新,估计会快一点 --------------------编程问答-------------------- 找到解决办法了! 用ADODB 可以实现 
我自己解决了 应该不用给分了吧?
--------------------编程问答--------------------
引用 10 楼 leungzhq2000 的回复:
找到解决办法了! 用ADODB 可以实现 
我自己解决了 应该不用给分了吧?
楼主这就不厚道了,有点儿“免费找人帮忙”的嫌疑
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,