小弟准备从 web 页中调用一个存储过程, 可是出问题了, 请各位大侠帮帮忙...存储过程的语句: 
 
    ALTER PROCEDURE dbo.name_s_mobile @name_s varchar(10),@mobile varchar(12)
AS
    select * from hhh where name_s like '%@name_s%' or mobile like '%@mobile%'小弟知道上面的存储过程语句有问题,  @name_s 和 @mobile 是变量, 我怎样才能将它们正确的放在like 关键字中进行查询呢??

解决方案 »

  1.   

    ALTER PROCEDURE dbo.name_s_mobile @name_s varchar(10),@mobile varchar(12)
    AS
        select * from hhh where name_s like '%'+@name_s+'%' or mobile like '%'+@mobile+'%'
      

  2.   

    ALTER PROCEDURE dbo.name_s_mobile @name_s varchar(10),@mobile varchar(12)
    AS
      declare @sql nvarchar(4000)
      set @sql=''
     set @sql='select * from hhh where name_s like '''% +@name_s + '%'' or mobile like '''% + @mobile + '%''
      exec(@sql)
      

  3.   

    select * from hhh where name_s like '%'+@name_s+'%' or mobile like '%'+@mobile+'%'
      

  4.   

    ALTER PROCEDURE dbo.name_s_mobile @name_s varchar(10),@mobile varchar(12)
    AS
         exec(select * from hhh where name_s like '%@name_s%' or mobile like '%@mobile%')
    试一下看看对不对?
    如果这个不对,那就应该是楼上的对了!
      

  5.   

    我改正一下:
    ALTER PROCEDURE dbo.name_s_mobile @name_s varchar(10),@mobile varchar(12)
    AS
      declare @sql nvarchar(4000)
      set @sql=''
     set @sql='select * from hhh where name_s like ''%' +@name_s + '%'' or mobile like ''%'+ @mobile + '%''
      exec(@sql)