c#DataTable选择不使用特殊字符#

时间:2010-09-27 07:16:51

标签: c# datatable datatable.select

我有一个数据表选择如下:

productData.Select("Name = 'AAA BBB # CCC'");

我知道条目在那里,因为#字符而无法正常工作。我试过用[]来逃避:

productData.Select("Name = 'AAA BBB [#] CCC'");

但它仍然无效。我知道单引号我加倍,所以'变成''。但是我需要关注的其他角色以及如何让这个案例发挥作用。

2 个答案:

答案 0 :(得分:3)

你绝对使用像这样的DataTables吗?出于这个原因,我一直对DataTable中基于文本的查询非常紧张。

如果可能的话,我建议你开始使用LINQ。你可以使用DataTable来做到这一点,例如

var query = products.AsEnumerable()
                    .Where(row => row.Field<string>("Name") == "AAA BBB # CCC");

这样你就不必担心转义等了。如果使用强类型数据集,它会变得更简单,因为你可以直接引用属性而不是使用字符串名称。

答案 1 :(得分:2)

你尝试过这样的事吗?

productData.Select(@"Name = 'AAA BBB # CCC'");