日期:2014-05-20  浏览次数:20596 次

存储过程参数中带有单引号的问题,如何解决。
我的存储过程参数是
'12345 ', '5241 '
这样我在存储过程里要这样用它
where   id   in(@NaicsId)
结果用查询分析器发现发往数据库的sql语句把 '都变成了 ' '
所以导致很多问题。就像下面这样。
exec   usp_selectAgencyCertificate  
@selNaics= ' ' '424320 ' ', ' '315212 ' ', ' '112990 ' ', ' '722213 ' ', ' '334611 ' ', ' '238330 ' ', ' '236116 ' ', ' '333131 ' ', ' '711510 ' ', ' '313221 ' ', ' '221111 ' ' ',

请问如何解决。

------解决方案--------------------
单引号全部变成两个单引号
Replace( " ' ", " ' ' ")
------解决方案--------------------
我是在录入英文信息的时候遇到的这样问题,我的解决方法是这样:
public string FormatString(string str)
{
str=str.Replace( " ' ", " ' ' ");
//str=str.Replace( " < ", "&lt; ");
//str=str.Replace( "> ", "&gt; ");
//str=str.Replace( '\n '.ToString(), " <br> ");
return str;
}