mysql - Visual Basic : DataTable. 搜索过滤器参数

标签 mysql sql sql-server vb.net datatable

我正在尝试搜索 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/

相关文章:

mysql - 节点红色,MySQL 错误

sql-server - SQL Server 数据库与团队共享?

sql-server - dbo.__RefactorLog 表未包含在 bacpac 文件中

sql - 简单分组依据

sql - PostgreSQL 存储过程(函数)的正确语法是什么?

sql - CockroachDB 中的 TEXT、CHAR 和 VARCHAR 有什么区别?

php - PDO 数组,如果记录已经存在

php - 使用 CDbMigration 更改表或重置自动增量

php - 通过单击按钮填充 PHP 数组

mysql - 1-M关系数据库设计