从dataTable中选择行 - 发出具有单引号的值

时间:2010-03-04 12:27:40

标签: select datatable escaping

我有一个.Net datatable,我使用select函数从中过滤行。

例如,假设datatable如下

-----------------------------------
| Id | Name | Description         |
-----------------------------------
| 1  | Anish| "sachin's centuary" |
-----------------------------------

我像这样搜索datatable ......

datatable.select("Description = 'sachin's centuary'")

但是,由于描述中的“单引号”,它没有返回任何行。我尝试用SQL中的双引号替换单引号,但这也不起作用。有谁可以帮助我。

2 个答案:

答案 0 :(得分:0)

您最有可能必须在函数调用中转义单引号,如下所示:

datatable.select("Description = 'sachin\'s centuary'")

虽然您没有说明您使用的语言。

答案 1 :(得分:0)

在下面的博客中...我已经看到了这个解决方案 http://www.marvinpalmer.com/MarvinPalmer/post/Trouble-with-Single-Quotes-and-StringReplace().aspx

public string escapeChar(string strToEsc)     {         if(strToEsc.IndexOf(“'”)> -1)         {
            strToEsc = strToEsc.Replace(“'”,@“\'”); //注意添加@符号         }         return strToEsc;    }

但它不适合我......“”正在被“\”取代:(