做一个搜索框,搜索内容里面可以包含 "-"或者"'",","(",")"    这样要去掉他也不行,不去掉会影响安全性

解决方案 »

  1.   

    不去掉不会影响安全性啊。
    key.Replace("'", "''")
    或者在 SQL 语句中用参数。
      

  2.   

     
    CREATE PROCEDURE [cn4b145].[PF_Search] 
    @sqlstr nvarchar(200),@tablename nvarchar(50),@keys nvarchar(50),@keyfield nvarchar(50)AS
    BEGIN
      declare @sql nvarchar(200)   
    SET NOCOUNT ON;
    set @sql='select  '+@sqlstr+' from '+@tablename+' where '+@keyfield+'  like  '+''''+'%'+@keys+'%'+''''
     
        exec(@sql)
    END
    GO
    这个是我些得模糊查询,遇到”'“得时候出错
      

  3.   


    CREATE PROCEDURE [cn4b145].[PF_Search] 
    @sqlstr nvarchar(200),@tablename nvarchar(50),@keys nvarchar(50),@keyfield nvarchar(50) AS 
    BEGIN 
      declare @sql nvarchar(200)  
    SET NOCOUNT ON; 
    set @sql='select  '+@sqlstr+' from '+@tablename+' where '+@keyfield+'  like  '+''''+'%'+@keys+'%'+''''     exec(@sql) 
    END 
    GO