@sql3='SELECT * FROM tbname WHERE col1='''+@value+''''
   1               234   5678 
1对应4,代表一个字符串 SELECT * FROM tbname WHERE col1=''
2,3 代表一个字符单引号
5,8 代表一个字符串  ''
6,7 代表一个字符单引号

解决方案 »

  1.   

    看如下例子:
    规则1:
    set str1 = 'nihao''wohao'; 则str1其实是:nihao单引号我好;
    set str1 = 'nihao'''; 则str1其实是:nihao单引号;规则2:
    set str1 = 'nihao' + '''' + 'wohao' + '''';其实是:nihao单引号wohao单引号。规则的文字描述你自己整理好了。
      

  2.   

    这个其实很简单啊,教你一个方法:
      把你的语句拷在查询分析器里,一般的红色的是字符串! 不就一目了然了!
    不过你得用SQL 2000在7.0 里是没 有的