以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  使用Filler的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25083)

--  作者:gzdw
--  发布时间:2012/10/30 21:40:00
--  使用Filler的问题

本人需要根据“原IP地址表”的“IP地址”值,决定是否从“新IP地址表”追加数据。

使用Filler 时,设置 ExcludeExistValue=True 则接收与“原IP地址表”不同的行。
即如果“新IP地址表”的“使用人”不同,也一样接收,如

“192.168.10.10”与“192.168.10.11”也被追加进来了。
因此想问一声,如果只接收与“原IP地址表”的“IP地址”值不同的行,即追加时排除这个二个地址,是否有什么好的方法?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

 

追加代码放在“窗口1”

[此贴子已经被作者于2012-10-30 21:44:25编辑过]

--  作者:gzdw
--  发布时间:2012/10/30 23:00:00
--  

没有人顶啊?自己顶一下。如果“数据来源列”只有"IP地址",则只追加新的IP地址。可惜没有把“使用人”一起追加进来。

 

如果在“Filler” 中增加一个开关,可以只比较某一个列的值,来决定是否追加,这样使用就更方便了。

[此贴子已经被作者于2012-10-31 7:16:19编辑过]

--  作者:lin_hailun
--  发布时间:2012/10/31 9:12:00
--  
 嗯嗯,目前是没有办法的……Filter暂时只能这样。看狐爸会不会这样弄。

 你现在只能自己去表里find是否存在重复了……
[此贴子已经被作者于2012-10-31 9:12:31编辑过]

--  作者:y2287958
--  发布时间:2012/10/31 13:36:00
--  

这个方法

俺一直用开的,看看合不合你要求。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


--  作者:lin_hailun
--  发布时间:2012/10/31 14:24:00
--  
 呵呵,楼上的方法不错……长见识了。

Dim cmd As New SQLCommand
cmd.CommandText = "SELECT * From {新IP地址表} WHERE IP地址 NOT IN (SELECT DISTINCT IP地址 From {原IP地址表})"
Dim dt As DataTable = cmd.ExecuteReader()

\'导入所有数据
Dim f As New Filler
f.SourceTable = dt \'指定数据来源
f.SourceCols = "IP地址,使用人" \'指定数据来源列
f.DataTable = DataTables("原IP地址表") \'指定数据接收表
f.DataCols = "IP地址,使用人" \'指定数据接收列
f.Fill() \'填充数据

DataTables("原IP地址表").Save

--  作者:gzdw
--  发布时间:2012/10/31 23:47:00
--  
嗯,合适。谢谢!
--  作者:sloyy
--  发布时间:2012/11/1 8:44:00
--  
不错,解决大问题了