我从实验室中删除了一些测试名称。我需要将这些与我当前存储的内容进行比较,以查看是否需要更新或插入新记录。
db表中的当前测试名称看起来像这个HGBA2%' (注意最后的单引号)。
在我的代码中,我将从db中恢复所有测试名称。我尝试通过这样做找到与传入测试名称的匹配:
drs = dt.Select("test_id = " + lstIds[j]);
lstIds [j]包含传入的测试名称。这显然会引发错误,因为它无法处理select中的单引号。查看现有表格以比较它们的正确方法是什么?
THX。 辙
答案 0 :(得分:1)
我会改用Linq-To-DataTable
:
DataRow[] drs = dt.AsEnumerable()
.Where(row => row.Field<string>("test_id") == lstIds[j])
.ToArray();
使用DataTable.Select
只是比LINQ更不易读和强大。这是有限的。
Here's一个解决方法,如果你必须使用它,f.e。如果这是一个旧项目。