我正在尝试搜索 SQL 记录表,以查找并提取字段符合我的条件的记录。
字段名称是 ID,它是一个 13 位代码,在 SQL 本身中以 Integer 形式存储。我需要通过 ID 字段的前六位数字(不是主键字段)搜索每条记录。
下面是代码:
Dim results As DataSet.DataRow() = DataSet.DataTable.Select("LEFT(ID,6) = 123456")
这是错误消息:
The expression contains undefined function call LEFT().
我怀疑问题出在 SQL 过滤器中的 LEFT 函数 - 因为如果我运行 .Select ,例如“ID = some-ID-value”,则会正确返回相应的记录。
使用 .Select() 时,可能无法识别 SQL 函数?或者也许我应该使用 CAST?
最佳答案
另一种方法是使用现有的 DataTable 创建 DataView;应用过滤器并将过滤后的行获取到另一个数据表中。这是安全的代码。
DataView dataView = new DataView(DataSet.DataTable);
dataView.RowFilter = "ID LIKE '123456%'";
var filtredData = dataView.ToTable();
关于mysql - Visual Basic : DataTable. 搜索过滤器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533003/