怎么将像下面的带特殊字符(单引号、百分号,双引号,#号,美元符号......)的字符串存入sqlserver的某个字段?
String mystring="
insert into T_PUB_RZGL(N_RZID,N_RZLX,N_BMDM,N_YGGH,C_RZNR,C_RZSJ) values(10,6,9,412,'更新文字资料,id:'112' 关联到票品简称:325000',replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':',''))
"strSql = " insert into T_PUB_RZGL(N_RZID,N_RZLX,N_BMDM,N_YGGH,C_RZNR,C_RZSJ)" +
" values(" + iId + ","+strRzlx+","+strBmdm+","+strYggh + ",'"+ mystring +"','时间') i=stmt.executeUpdate(strSql );sqlserver有没有像PHP那样将sql语句格式化为可存储字符串的函数?

解决方案 »

  1.   

    就是单引号要存入时 用两个declare @s varchar(10)
    set @s = 'adfasdf''sadfasdfadf'注意中间的两个'' 
      

  2.   

    单引号的话,是两点表一点,
    SELECT ''''
      

  3.   

    这样
    insert into T_PUB_RZGL(N_RZID,N_RZLX,N_BMDM,N_YGGH,C_RZNR,C_RZSJ) values(10,6,9,412,'更新文字资料,id:''112'' 关联到票品简称:325000',replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':',''))
      

  4.   

    其它特殊字符呢?
    如:特殊字符(单引号、百分号,双引号,#号,美元符号......)
    在java里面的没有通用的方法或函数先全部格式化成可直接插入的字符串??
      

  5.   

    java 中用PrepareStatement来插入
    不写sql这种情况可以避免的