我有一个数据表选择如下:
productData.Select("Name = 'AAA BBB # CCC'");
我知道条目在那里,因为#字符而无法正常工作。我试过用[]来逃避:
productData.Select("Name = 'AAA BBB [#] CCC'");
但它仍然无效。我知道单引号我加倍,所以'变成''。但是我需要关注的其他角色以及如何让这个案例发挥作用。
答案 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'");