以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何批量追载数据?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135568)

--  作者:ZJZK2018
--  发布时间:2019/5/29 15:33:00
--  如何批量追载数据?
需求是:我是用分页加载“招标信息”表数据,根据“招标信息”表的数据追载“系统编号”表数据,与前面已加载数据进行比较,如没有就追载进来,有了就不追载?

下面代码只加载数据:
Dim ids As String = DataTables("招标信息").GetComboListString("系统编号")
Dim filt As String = "系统编号 In (\'" & ids.Replace("|","\',\'") & "\')"
DataTables("系统编号").LoadFilter = filt
DataTables("系统编号").Load()

如何批量追载数据?
Dim ids As String = DataTables("招标信息").GetComboListString("系统编号")
Dim filt As String = "系统编号 In (\'" & ids.Replace("|","\',\'") & "\')"
For Each dr As DataRow In DataTables("系统编号").Select("")
    If filt.Contains(dr("系统编号")) = False Then
        DataTables("系统编号").AppendLoad(filt,True)
    End If
Next

--  作者:有点甜
--  发布时间:2019/5/29 15:41:00
--  

没必要这样做啊。

 

直接remove掉,然后appendload即可啊。

 

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

 


--  作者:有点甜
--  发布时间:2019/5/29 15:42:00
--  
Dim ls As List(of String) = DataTables("招标信息").GetValues("系统编号")
Dim nls As new List(of String)
For Each dr As DataRow In DataTables("系统编号").Select("")
    If ls.Contains(dr("系统编号")) = False Then
        nls.add(dr("系统编号"))
    End If
Next
Dim filt As String = "系统编号 In (\'" & String.Join("\',\'", nls.ToArray) & "\')"
DataTables("系统编号").AppendLoad(filt,True)

--  作者:ZJZK2018
--  发布时间:2019/5/29 15:48:00
--  
因为“系统编号”表的数据,后面还要利用,如果再次加载数据不是浪费吗?所以还是想用1楼的思路做,如何处理?
--  作者:有点甜
--  发布时间:2019/5/29 16:02:00
--  

1、参考3楼。

 

2、直接比较的效率也不高。