我有一个动态的查询存储过程可以任意写条件'Title like ''%-%'''这样写,不行啊,将“-”换成“'”后出错。
如何是好呢?如何解决呢?

解决方案 »

  1.   

    'Title like ''%"+"'"+"%'''
      

  2.   

    好像查询者输入
    “ot 'jams”
      

  3.   

    'Title like ''%"+"ot 'jams"+"%'''
    这样就出错了……
      

  4.   

    完整的SQL语句呢?发过来看看
      

  5.   

    select * from  dbo.article_info where ar_conten like '%a%'
      

  6.   


    不用完整了。
    反正是自由查询,可以定制任何条件。就是用户输入单引时如何处理?这个是问题。存储过程是这样的
    CREATE PROCEDURE SP_Table
    @WHERE VARCHAR(200)
    EXEC('SELECT XXX.* FROM INER JOIN XXXX' + @WHERE)WHERE可以随便写入,自己写,但用户搜索单引号时如何是好。
      

  7.   

    CREATE PROCEDURE SP_Table
    @WHERE VARCHAR(200)
    EXEC('SELECT XXX.* FROM INER JOIN XXXX' + @WHERE)
    'SELECT XXX.* FROM INER JOIN XXXX'  这段有问题啊 你仔细看看
    FROM INER JOIN  这报错了
      

  8.   

    System.Data.SqlClient.SqlParameter patameters = new System.Data.SqlClient.SqlParameter("@key","%'%");string sql = "select * from  Title like @A";//再执行Sql//轻松解决
      

  9.   


    问题是我是一个WHER进入,传入一个WHERE的。如 "WHERE XXX=XXX AND LIKE XXX %XXXX''''%"你这个如何能满足呢?还有就是你第二个参数是什么意思?第二个不是数据类型吗?
      

  10.   

    用N可以解决:set @where +=N' AND [User].Lastname LIKE '''+ @Lastname + '%'' '
      

  11.   

    两个''显示结果是'  如果你想替换单引号,可以replace(@str,''','')
      

  12.   

    select * from table1 where [id] like '%2%'结果:
    '123'
    '1223'
    '1234'