以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于不重复记录集合的讨论  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12510)

--  作者:kylin
--  发布时间:2011/9/6 8:51:00
--  关于不重复记录集合的讨论

最近需要提取不重复的记录集合:

 

1、提取不重复记录值的集合有DataTable的GetUniqueValues,字符串有DataTable的GetComboListString

 

2、数据填充器可以提取不重复的记录集合,但是字段个数有限 

dim f As New Filler
f
.SourceTable = DataTables("订单") \'指定数据来源
f
.SourceCols = "产品,客户" \'指定数据来源列
f
.DataTable = DataTables("统计") \'指定数据接收表
f
.DataCols = "产品,客户" \'指定数据接收列
f
.Fill()
\'填充数据

 

3、SQL 中也可以提取不重复的记录集合,如果不另外处理,字段个数也有限

Dim cmd As New SQLCommand
Dim
dt As DataTable
cmd.CommandText =
"SELECT DISTINCT 产品,客户 From {订单}"
dt = cmd.ExecuteReader()

 

4、菜单Syscmd.Filter.HideSameValues()对当前表排除重复值,这样可以获取不重复记录集合,可是只可以对单一的字段

 

5、目前DataTable的Select方法只是提取一般的记录集合,功能水平一般呢

 

 

所以有个设想,DataTable的Select方法是记录集合的,那么以此为基础点,增强这个功能,让它可以支持“提取关于几个关键字之不重复的记录集合”

 

如果整合以上几种功能方案,相信这个“提取不重复的记录集合”的功能应当可以实现

 

如果能这样,那么就可以纯粹地使用FoxTable自身的方案,而不用这么鸡肋地拼凑。

 


--  作者:狐狸爸爸
--  发布时间:2011/9/6 9:04:00
--  

呵呵,select是ado.net内置的,改不了的。

 

就用方法三吧。


--  作者:kylin
--  发布时间:2011/9/6 9:59:00
--  

了解,我希望FoxTable纯粹一点,能否劳驾你老人家自行写一个给大家用用了!呵呵


--  作者:狐狸爸爸
--  发布时间:2011/9/6 10:12:00
--  

考虑考虑,不能做得太多,否则以后怎么收升级费用啊?

 

图片点击可在新窗口打开查看


--  作者:kylin
--  发布时间:2011/9/6 18:05:00
--  
呵呵,老六你不会这么小器的吧!