以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]从后台表跨表取数填充写入数据很慢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=109920)

--  作者:liuyixin662
--  发布时间:2017/11/22 18:30:00
--  [求助]从后台表跨表取数填充写入数据很慢

老师你好:

有表A,表B两个后台表,其中表A的数据是从表B查询满足条件后自动写入从表B查到的数据,大约有10列数据.写入速度很慢,每行大约3-4秒. 

   表A的    DataColChangeD 用到以下代码   :

select case e.datacol.name

   case  "编号"  等

Dim dr As DataRow = DataTables("B").sqlfind("编号= \'" & e.DataRow("编号") & "\' ")

    If dr IsNot Nothing Then

      e.datarow("a")=dr("a")

     *****

       end if

end select

还有其他计算类代码是在填充写入后计算(速度比填充写入时的快)

由于数据要及时保存所以用到了以下代码:

If DataTables("A").HasChanges Then
DataTables("A") .Save()
End If

麻烦老师指点一下.谢谢

 

 


--  作者:有点甜
--  发布时间:2017/11/22 22:11:00
--  

 1、你要写入多行的时候,就不要触发datacolchanged事件了

 

http://www.foxtable.com/webhelp/scr/2218.htm

 

 2、不要用重置列功能

 

 3、建议把数据全部查询到以后,逐步写入,避免多次查询后台表格,每次查询都耗时的。