以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- .save 的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176798) |
-- 作者:edisontsui -- 发布时间:2022/4/27 10:15:00 -- .save 的问题 (1) DataTables("组装送货单").save (2) Dim dr16 As String = e.DataRow("已完成") For i As Integer = 0 To drs.Count-1 drs(i)("已完成") = dr16 drs(i).save Next (3) Dim dr14 As String= e.DataRow("票号1") For i As Integer = 0 To drs.Count-1 drs(i)("票号1") = dr14 Next e.DataRow.save 上面三种保存方式都是在 datacolchanged 里面的,请问哪个保存方式是最快的? |
-- 作者:有点蓝 -- 发布时间:2022/4/27 10:18:00 -- 第一种,整个表一起保存 |
-- 作者:edisontsui -- 发布时间:2022/4/27 10:29:00 -- 是不是可以这样理解: 第1种保存方法,理论上耗时多点,而第2、3种方法理论上会节省一些时间? 另外,第2、3种方法的 save 放在不同位置,效果是一样的吗?
|
-- 作者:有点蓝 -- 发布时间:2022/4/27 10:45:00 -- 不是的。 比如表A有10行数据要保存,第一种只需要连接一次数据库,把数据提交保存即可。第2、3种方法是按行保存的,每一行都要连接一次数据库,理论上把第一种慢多了,行数越多差距越明显,就越慢。 第2种方法和第3种方法保存的还不是通一个东西,第2种方法保存的是drs这个集合的行,有多少行就保存多少次;第3种方法保存的是e.DataRow,只有一行。 一般情况下,不想保存整个表数据,只想保存部分行的情况下,才需要按行保存,否则建议按表保存
|