SQLGetValues

DataTable的SQLGetValues方法和GetValues方法类似,都是从指定列中,获取不重复的值,以集合的形式返回。
不过GetValues方法是从已经加载的数据中提取,而SQLGetValues是从后台所有数据中提取。

SQLGetValues(ColumnName,Filter,Sort)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值
Sort:      可选参数,指定排序列,如果省略,则根据取值列排序,通常无需设置。

提示,Filter参数采用的是SQL语法,和常规表达式的语法有所不同,请参考:SQL表达式的语法差异

示例一

列出产品表中所有的产品名称:

Dim Products As List(Of String)
Products = DataTables("产品").SQLGetValues("产品名称")
For
Each Product As String In Products
    Output.Show(Product)

Next

示例二

返回的值默认按照取值列排序,我们可以另外指定排序列;例如按产品编号顺序,列出产品表中所有的产品名称:

Dim Products As List(Of String)
Products = DataTables("产品").SQLGetValues("产品名称", "", "产品编号")
For
Each Product As String In Products
    Output.Show(Product)

Next

示例三

给排序列加上DESC关键词,返回值可以降序排序,例如按最近一次订货的日期顺序,列出订单表中的客户名单:

Dim Customers As List(Of String)
Customers =
DataTables("订单").SQLGetValues("客户", "", "日期 Desc")
For
Each Customer As String In Customers
    Output.Show(Customer)

Next

示例四

可以设置取值条件,例如按单间顺序列出产品表中单价大于100的产品:

Dim Products As List(Of String)
Products = DataTables("产品").SQLGetValues("产品名称", "单价 > 100", "单价")
For
Each Product As String In Products
    Output.Show(Product)

Next


本页地址:http://www.foxtable.com/webhelp/topics/2909.htm