用兩個字符串分開呀
declare  @s  varchar(1000)
set  @s='select ............................'
exec (@s)
就搞定了

解决方案 »

  1.   

    还是不行啊!!
    我的Select语句是:
    select * from ClassArrange where ClassId=2 and TimeString= ' AP1 ' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=2)但是服务器提示为:
    服务器: 消息 103,级别 15,状态 7,行 2
    以 'select * from ClassArrange where ClassId=2 and TimeString= ' AP1 ' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=' 开头的 标识符 太长。最大长度为 128。怎么解决呢?高手!
      

  2.   

    我是这么改的,还是不行!
    declare  @s  varchar(1000)
    set  @s='select * from ClassArrange where ClassId=2 and TimeString= ' AP1 ' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=2)'
    exec (@s)
    但是服务器提示为:
    服务器: 消息 103,级别 15,状态 7,行 2
    以 'select * from ClassArrange where ClassId=2 and TimeString= ' AP1 ' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=' 开头的 标识符 太长。最大长度为 128。怎么解决呢?高手!
      

  3.   

    我是这么改的,还是不行!
    declare  @s  varchar(1000)
    set  @s=N'select * from ClassArrange where ClassId=2 and TimeString= ''AP1'' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=2)'
    exec (@s)
      

  4.   

    declare  @s  varchar(1000)
    set  @s='select * from ClassArrange where ClassId=2 and TimeString= ''AP1'' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=2)'
    exec (@s)
      

  5.   

    用兩個字符串分開呀
    declare  @s  varchar(1000)
    set  @s='select ............................'
    exec (@s)
    就搞定了
      

  6.   

    在Sql里,bool类型的是1和0表示的,不是True和False
    另外最后个or前应该有个空格