偶在DELPHI里把一个ACCESS和GBDIRD做好连接后加了个按扭。
设置其CLICK时  datamodule2.ADOQuery1.sql.Clear
datamodule2.ADOQuery1.SQL.Add('select * from kang order by id') 
datamodule2.ADOQuery1.Open;
datamodule2.ADOQuery1.ExecSQL;错误显示 [Error] Unit1.pas(33): Missing operator or semicolon偶想实现的时点那按钮的时候把这个表里的记录按ID从小到大排序。。

解决方案 »

  1.   

    datamodule2.ADOQuery1.ExecSQL;这句不要
      

  2.   

    检查别的语句,看是不是有if else 之类的语句。else上面的那句没有;
      

  3.   

    Open和ExecSQL不能同时加。
    Open专门用于select语句,而ExecSQL用于update,delete等。
    还有,前两句末尾的分号忘加了。
      

  4.   

    还有,在开头加上一句:
    datamodule2.ADOQuery1.Close;
      

  5.   

    with datamodule2.adoquery1 do
    begin
      close;
      sql.clear;
      sql.add('select * from kang order by id');
      prepared;
      open;//当SQL语句为SELECT时,用open;当SQL语句为其他时用EXECSQL;
    end;