以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [原创]导入660行的数据超级慢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154643) |
||||
-- 作者:sbiw8 -- 发布时间:2020/9/21 18:46:00 -- [原创]导入660行的数据超级慢 请教各位大神,我的DataTables("销售明细")共有5万行,e当前表只有660行,往当前表导入660行的数据超级慢是怎么回事? 代码在当前表的
DataColChanged事件中: |
||||
-- 作者:有点蓝 -- 发布时间:2020/9/21 20:24:00 -- 导入的时候每一行都会触发事件,然后后台查询了2次,当然就慢了。建议屏蔽事件再导入,然后通过sql进行数据更新 |
||||
-- 作者:sbiw8 -- 发布时间:2020/9/27 9:52:00 -- 谢谢提醒,果然,写在DataColChanged事件中,则每更新一行都要去5万多行的销售明细中查找验证,这个就太慢了,用UPADTE直接更新后台表真是超级快: Dim TX As String = "UPD ATE {市场划分},{销售明细} SET {市场划分}.今年客户 = \'This\' WHERE {市场划分}.[客户名称] = {销售明细}.[客户名称] AND {销售明细}.[年份] = \'" & YEAR(Date.today) & "\'" \'将本表中"今年客户"更新为This,条件是该客户在销售明细中年份为今年
Dim cmd As New SQLCommand cmd.CommandText = TX cmd.ExecuteNonQuery() |