我有个例子,下面语句通不过: 
afyhz.CommandText:='select  userid,name,descript,roomid,roomarea,preelec,NOWELEC,NOWWATER,PREWATER,NOWDEGREE,WATERDEGREE,elec,melec,felec,water,mwater,lift,manage,other,zhinajing,sum=(elec+melec+water+mwater+lift+manage+other+zhinajing),sdsum=(felec+melec+water+mwater+lift+other+zhinajing+ELEC) from common where UserId  like ''%'+edit2.Text+'%''';
报错:
 String literals may have at most 255 elements
delphi中字符串类型长度不能超过256,我想用存储过程解决或把这段SQL拆为多段,每段存在一个字符串变量中,最后再将这些段加到一起赋给CommandText。但水平有限。请那位帮忙具体写一下代码。谢谢!!!

解决方案 »

  1.   


      afyhz.CommandText := 'select userid,name,descript,roomid,roomarea,preelec,NOWELEC,NOWWATER,PREWATER,' +
                           '  NOWDEGREE,WATERDEGREE,elec,melec,felec,water,mwater,lift,manage,other,zhinajing,' +
                           '  sum=(elec+melec+water+mwater+lift+manage+other+zhinajing),' +
                           '  sdsum=(felec+melec+water+mwater+lift+other+zhinajing+ELEC)' +
                           '  from common where UserId like ''%' + edit2.Text + '%''';
      

  2.   

    var
      str:string;
    begin
      str:='sql语句';
      adocommand1.commandtext:=str;
      adocommand1.execute;
    end;