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

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

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

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

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

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

你绝对必须使用像这样的DataTables吗? 正是出于这个原因,我一直非常担心DataTable中基于文本的查询。

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

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

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

你尝试过这样的事吗?

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