Find
在DataTable查找符合条件的行,如果找到的话,返回找到的行,否则返回Nothing。
如果有多个符合条件的行,默认返回第一个,也可以指定返回第几个符合条件的行。
语法:
Find(Filter,Sort,Index)
Filter: 条件表达式,请参考表达式的运算符和函数
和 条件表达式。
Sort: 可选参数,指定排序方式。
Index: 可选参数,指定返回第几个符合条件的行,0表示第一行。
示例一:
Dim
dr As DataRow示例二:
有的时候,我们需要查找倒数第几行数据,例如最近一次订购某产品的记录。
可以参考下面的代码:
Dim
dr As DataRow可以看到代码和原来几乎一样,唯一的变化是排序参数,被改为:日期
Desc
加上DESC使得日期按照降序排序,最后的日期排在最前面,我们所找出的第一条记录,就是最后一次订购产品PD01的记录。
示例三
通常应该在代码中判断是否找到了符合条件的行,然后再运行后续的代码。
例如要找出最近一次订购产品数量超过1000的订单,并显示订单的日期和客户:
Dim
dr As DataRow如果我们不加上判断,直接:
Dim
dr As DataRow一旦订单表并不存在订购数量超过1000的订单,那么Find方法返回Nothing,导致后续代码运行出错。
Find函数只能找出一条符合条件的行,如果要同时找出所有符合条件的行,可以使用Select方法。