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