不是吧,我写过比你这个长得多的SQL语句,怎么会有这个提示呢?

解决方案 »

  1.   

    select * from ClassArrange where ClassId=2 and TimeString= ' AP1 ' and  (IsOdd=True or IsEven=True) and (EndWeek>=1 or BeginWeek<=2)再试下,好象是没有空格。
      

  2.   

    要求最大128个字符???
    呵呵,没听说过。
    是不是你的sql语句有问题??
      

  3.   

    我试着这么处理!
    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)-------------------->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)
      

  4.   

    服务器: 消息 103,级别 15,状态 7,行 2
    以 'select * from ClassArrange where ClassId=2 and TimeString= ' AP1 ' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=' 开头的 标识符 太长。最大长度为 128。问下知道的朋友:这个“开头的 标识符 太长”是什么意思?怎么修改呢?
      

  5.   

    是不是'号的问题把它改为
    set  @s='select * from ClassArrange where ClassId=2 and TimeString= '+char(39)+ AP1+char(39)+ ' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=2)'
      

  6.   

    IsOdd和IsEven是什么类型的字段,如果是bit型,就应该是=1而不是=true
      

  7.   

    不是sql语句长度的问题
    是语句的问题
      

  8.   

    这里少了个空格吧? (EndWeek>=1or BeginWeek<=2)
    应该是:(EndWeek>=1 or BeginWeek<=2)
      

  9.   

    先把SQL语句在Query里面调试通过,然后再加上变量放到程序里面。
    实在不行用Profiler追踪一下。把程序执行后的SQL语句放到Query里运行一下,看看什麼问题!
      

  10.   

    不要用
    set  @s='select * from ClassArrange where ClassId=2 and TimeString= '' AP1 '' and  (IsOdd=True or IsEven=True)and (EndWeek>=1or BeginWeek<=2)'

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

  11.   

    错了,试试这样:
    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)'
    print(@s)
    exec(@s)
      

  12.   

    EndWeek>=1 or BeginWeek<=2
      

  13.   

    EndWeek>=1or 
    中间少了空格
      

  14.   

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

  15.   

    string s="";
      s="select * from ";
      s=s+" tablename where  .....";
      s=s+" ....";
      这样多长都能写下了。
      

  16.   

    最长128字节有可能是  字符串常量 的限制。
      s=" sdfslfsd"(不能超过128字节)