exec sp_executesql N'SELECT *,p.PersonnelCode,PaperTitle from 
ExamTestee AS e
, PersonnelBase as p
, PaperMaster as m
WHERE e.PersonnelID = p.PersonnelID
AND m.PaperID = e.PaperID  And (PersonnelCode Like ''%@CodeOrName%'' 
OR p.PersonnelName like ''%@CodeOrName%'')  Order By 
p.PersonnelCode ',
N'@CodeOrName varchar(50)',
@CodeOrName='伟'语法都是没问题,就是不知道为什么,没结果....

解决方案 »

  1.   

    你先换成静态的SQL去查查有没有数据?
      

  2.   

    SELECT *,p.PersonnelCode,PaperTitle from  
    ExamTestee AS e
    , PersonnelBase as p
    , PaperMaster as m
    WHERE e.PersonnelID = p.PersonnelID
    AND m.PaperID = e.PaperID And (PersonnelCode Like '%伟%' 
    OR p.PersonnelName like '%伟%' ) Order By  
    p.PersonnelCode 这个先查下有没能结果
      

  3.   

    declare @sql nvarchar(4000)
    declare @CodeOrName nvarchar(10)
    set @CodeOrName=N'伟大'
    set @sql=N'SELECT *,p.PersonnelCode,PaperTitle from  
    ExamTestee AS e
    , PersonnelBase as p
    , PaperMaster as m
    WHERE e.PersonnelID = p.PersonnelID
    AND m.PaperID = e.PaperID And (PersonnelCode Like ''%'+@CodeOrName+'%''  
    OR p.PersonnelName like ''%'+@CodeOrName+'%'') Order By  
    p.PersonnelCode '
    exec(@sql)
      

  4.   

    exec sp_executesql N'SELECT *,p.PersonnelCode,PaperTitle from  
    ExamTestee AS e
    , PersonnelBase as p
    , PaperMaster as m
    WHERE e.PersonnelID = p.PersonnelID
    AND m.PaperID = e.PaperID And (PersonnelCode Like N''%@CodeOrName%''  
    OR p.PersonnelName like N''%@CodeOrName%'') Order By  
    p.PersonnelCode ',
    N'@CodeOrName nvarchar(50)',
    @CodeOrName=N'伟'如果有结果,这样试下
      

  5.   

    直接代入值,是有结果的,你这样还是没结果....不懂ing
      

  6.   

    exec sp_executesql N'SELECT *,p.PersonnelCode,PaperTitle from  
    ExamTestee AS e
    , PersonnelBase as p
    , PaperMaster as m
    WHERE e.PersonnelID = p.PersonnelID
    AND m.PaperID = e.PaperID And (PersonnelCode Like N''%''+@CodeOrName+''%''  
    OR p.PersonnelName like N''%@CodeOrName%'') Order By  
    p.PersonnelCode ',
    N'@CodeOrName nvarchar(50)',
    @CodeOrName=N'伟'改为这样,问题解决。
      

  7.   

    exec sp_executesql N'SELECT *,p.PersonnelCode,PaperTitle from  
    ExamTestee AS e
    , PersonnelBase as p
    , PaperMaster as m
    WHERE e.PersonnelID = p.PersonnelID
    AND m.PaperID = e.PaperID And (PersonnelCode Like N''%''+@CodeOrName+''%''  
    OR p.PersonnelName like N''%''+@CodeOrName+''%'') Order By  
    p.PersonnelCode ',
    N'@CodeOrName nvarchar(50)',
    @CodeOrName=N'伟'你那个还是双包胎的,再来一下。
      

  8.   

    有可能如tony说的那样,少了个N