在ComboBox有两个可选排序字段(name和buscode)选择任一个后,按button排序
但运行时总报错(在ADOQuery1.sql.clear行)
错误显示是constant expression expected望各位大虾给于指点,不胜感激!!!
下面是程序procedure TForm2.Button5Click(Sender: TObject);
begin
  case ComboBox1.itemindex of
0:
   ADOQuery1.close;
   ADOQuery1.sql.clear;
   ADOQuery1.sql.add('select name,buscode,busnum,busname,kva,addr fromline,buslistwhere line.lineno=buslist.lineno order by name');
   ADOQuery1.open;
1:
   ADOQuery1.close;
   ADOQuery1.sql.clear;
   ADOQuery1.sql.Add('select name,buscode,busnum,busname,kva,addr from line,buslistwhere line.lineno=buslist.lineno order by buscode');
   ADOQuery1.open;
end;
end;

解决方案 »

  1.   

    把buslistwhere改为buslist where
      

  2.   

    0,1后面有多条语句要加begin end;的
      case ComboBox1.itemindex of
    0: begin
       ADOQuery1.close;
       ADOQuery1.sql.clear;
       ADOQuery1.sql.add('select name,buscode,busnum,busname,kva,addr fromline,buslistwhere line.lineno=buslist.lineno order by name');
       ADOQuery1.open;
       end;
    1:
      begin
       ADOQuery1.close;
       ADOQuery1.sql.clear;
       ADOQuery1.sql.Add('select name,buscode,busnum,busname,kva,addr from line,buslistwhere line.lineno=buslist.lineno order by buscode');
       ADOQuery1.open;
       end;
    end;
      

  3.   

    case ComboBox1.itemindex of
    0: begin
         ADOQuery1.close;
         ADOQuery1.sql.clear;
         ADOQuery1.sql.add('select name,buscode,busnum,busname,kva,addrfromline,buslistwhere line.lineno=buslist.lineno order by name');
       ADOQuery1.open;
       end;
    1:
      begin
        ADOQuery1.close;
        ADOQuery1.sql.clear;
        ADOQuery1.sql.Add('select name,buscode,busnum,busname,kva,addr from line,buslistwhere line.lineno=buslist.lineno order by buscode');
        ADOQuery1.open;
       end;
    end;