【问题标题】:Get Non-Database ADO Recordset Distinct records获取非数据库 ADO 记录集不同记录
【发布时间】:2013-12-04 00:30:59
【问题描述】:

我使用.append 创建了一个ADO 记录集(在VBScript 中)。也就是说,记录集不是由从数据库中提取信息的 SQL 语句创建的。

有没有一种 SQLish 方法可以从这个记录集中获取记录并将其返回到另一个记录集中?

例如SET = adoUniqueRS = SELECT DISTINCT [FieldWithDupes] FROM [adoRSwDupes]


到目前为止,我能想到的最有效的方法是在[FieldWithDupes] 上循环通过排序的[adoRSwDupes] 并在[FieldWithDupes] 更改值时向[adoUniqueRS] 添加一条新记录。

有更好的想法吗?

【问题讨论】:

  • 我建议你使用字典,就像描述的here

标签: vbscript ado


【解决方案1】:

我不知道如何针对断开连接的记录集运行查询,抱歉。

在想法区域中,一旦对记录集进行了排序,您就可以对其进行过滤,而不是遍历整个记录集。这个想法是:

While recordset has records 
    Get first record data
    Filter the recordset to data > retrieved data

这样,在应用过滤器后,当前记录将成为下一组数据中的第一个。重复直到没有数据为止。

【讨论】:

  • 我喜欢这个想法,我想我将来会使用它。在考虑了迭代整个 RS 与此方法的效率之后,我认为您的方法对于重复值占集合的很大比例的情况会更有效。我认为当每个值有两个时,迭代整个集合会更有效。我无法用我的特定数据证明一种或另一种方式,但这肯定是个好主意!谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多