正确的方法来使用数据表选择方法

时间:2015-10-28 14:35:52

标签: c# sql

我从实验室中删除了一些测试名称。我需要将这些与我当前存储的内容进行比较,以查看是否需要更新或插入新记录。

db表中的当前测试名称看起来像这个HGBA2%' (注意最后的单引号)。

在我的代码中,我将从db中恢复所有测试名称。我尝试通过这样做找到与传入测试名称的匹配:

drs = dt.Select("test_id = " + lstIds[j]);

lstIds [j]包含传入的测试名称。这显然会引发错误,因为它无法处理select中的单引号。查看现有表格以比较它们的正确方法是什么?

THX。 辙

1 个答案:

答案 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。如果这是一个旧项目。