以文本方式查看主题

-  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行的数据超级慢是怎么回事?
代码在当前表的
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:无标题-1.txt

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()