VB API list把相同元素合并成一个集合

HeartToo 2018-06-25 11:18:11
VB API list把相同元素合并成一个集合


在结果集BLLNO是相同的,把他们合并成一条list,返回 类似分支、树形。能实现吗怎么做
...全文
516 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
HeartToo 2018-06-25
  • 打赏
  • 举报
回复
脆皮大雪糕 2018-06-25
  • 打赏
  • 举报
回复

Dim ht As New Hashtable()
Dim i As Integer
Dim tmp As String
For i = 1 To 1000
tmp = Int(Rnd() * 10).ToString() '1000次循环产生10以内随机数,必然有大量的重复
If ht(tmp) = "" Then '查是否重复,如果不重复就插入,否则算了
ht.Add(tmp, tmp)
End If
Next
tmp = ""
For i = 0 To ht.Count - 1
tmp = tmp + ht.Values(i) + " "
Next

刚才那段用try catch 会有点慢,用这段判断重复一下就快了
脆皮大雪糕 2018-06-25
  • 打赏
  • 举报
回复

Dim ht As New Hashtable()
Dim i As Integer
Dim tmp As String
For i = 1 To 1000
Try
tmp = Int(Rnd() * 10).ToString() '1000次循环产生10以内随机数,必然有大量的重复
ht.Add(tmp, tmp)
Catch
End Try
Next
tmp = ""
For i = 0 To ht.Count - 1
tmp = tmp + ht.Values(i) + " "
Next


生成1000个0~9随机数塞到hash table里面去,最后出来的是10个不重复的结果
脆皮大雪糕 2018-06-25
  • 打赏
  • 举报
回复
引用 3 楼 HeartToo 的回复:
[quote=引用 2 楼 chewinggum 的回复:]
目测发生重复是SQL语句的问题。
觉得要从源头上把重复项去掉,而不是重复的一大堆东西传递过来了再进行去重复的操作。要降低数据库的IO、网络的传输压力以及业务逻辑层的逻辑处理压力。而不是硬生生的让各个环节把这个错扛下来掩盖掉问题。数据重复这件事情,小的话就翻两倍三倍,大的话可以让你崩溃。

不对不对,这个是酒店房间订单。如上BIINo:PSQC20233有3条一样的,是因为他选了3次。像淘宝购物车东西买了3件。比如BIINo:PSQC20233返回给页面展示时就直接显示了3条,要求修改成同一个人有多条记录合并成一条,点击该条再分出3个。[/quote]

那就两次查询呗,第一次 select distinct BIINo from ... where ... 得出一个列表
选中一个 BIINo后 再 select ... from ... where billno = ... and .....
得出具体的 三个。

如果你非要再本地处理,就忘hashtable里面插入,遇到重复异常不管继续,循环完毕以后就是你想要的了
舉杯邀明月 2018-06-25
  • 打赏
  • 举报
回复
不可能什么都“扔给API给你完成”吧!写API的人也不是神仙,能预测所有的需求。
有一些事还是要自己实现处理逻辑的。

可以把这些信息,按需要的字段信息,整理成“记录(自定义数据类型)”的。
HeartToo 2018-06-25
  • 打赏
  • 举报
回复
引用 2 楼 chewinggum 的回复:
目测发生重复是SQL语句的问题。
觉得要从源头上把重复项去掉,而不是重复的一大堆东西传递过来了再进行去重复的操作。要降低数据库的IO、网络的传输压力以及业务逻辑层的逻辑处理压力。而不是硬生生的让各个环节把这个错扛下来掩盖掉问题。数据重复这件事情,小的话就翻两倍三倍,大的话可以让你崩溃。

不对不对,这个是酒店房间订单。如上BIINo:PSQC20233有3条一样的,是因为他选了3次。像淘宝购物车东西买了3件。比如BIINo:PSQC20233返回给页面展示时就直接显示了3条,要求修改成同一个人有多条记录合并成一条,点击该条再分出3个。
脆皮大雪糕 2018-06-25
  • 打赏
  • 举报
回复
目测发生重复是SQL语句的问题。
觉得要从源头上把重复项去掉,而不是重复的一大堆东西传递过来了再进行去重复的操作。要降低数据库的IO、网络的传输压力以及业务逻辑层的逻辑处理压力。而不是硬生生的让各个环节把这个错扛下来掩盖掉问题。数据重复这件事情,小的话就翻两倍三倍,大的话可以让你崩溃。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧