以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据检索的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74607)

--  作者:农村人
--  发布时间:2015/9/15 11:07:00
--  [求助]数据检索的问题
数据库是外部数据源(Access)
我在表A中

DataColChanged事件中如下代码:


Select Case e.DataCol.Name
    Case "条码编号"
        If e.DataRow.IsNull("条码编号") Then
            e.DataRow("防伪编码") = Nothing
        Else
            Dim dr As DataRow
            dr = DataTables("SeurityCode").Find("[Code] = \'" & e.DataRow("条码编号") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("防伪编码") = dr("Security")
                dr("启用") = True
            End If
        End If
End Select

我的问题是:如果全部加载"SeurityCode"表数据,有48万条数据,全部加载的话就有些慢了,再每次重置表A的条码编号列获得SeurityCode表的防伪编码,感觉耗时更多.

有没有提高执行速度的代码或方法?

--  作者:Hyphen
--  发布时间:2015/9/15 11:45:00
--  

SeurityCode设置成默认不加载,然后在上面代码中使用SQLFind

 

http://www.foxtable.com/help/topics/2911.htm


--  作者:狐狸爸爸
--  发布时间:2015/9/15 11:48:00
--  

1、 动态修改,用上面的代码,大批量修改,直接用SQL语句执行,然后重新加载

2、 一般不需要加载这么多数据,一般用分页加载和动态加载,参考《动态加载》这一章:

http://www.foxtable.com/help/topics/1998.htm