大致结构如下:
  try
  AdoQuery1.Close;
  AdoQuery1.SQL.Clear;
  AdoQuery1.SQL.Add('INSERT INTO AnteMain (ID,Anter,AnteDate,Code,Val,Flag)'+#13
+'VALUES (:ID,'+#39+'fwz'+#39+',:Date,0,:All,0)');
  AdoQuery1.Parameters.Items[0].Value := ID;
  AdoQuery1.Parameters.Items[1].Value := now;
  AdoQuery1.Parameters.Items[2].Value := SumValue;
  finally
  AdoQuery1.ExecSql;
  AdoQuery1.Active := true;
//  ID:=ID+1;
  end;
为什么提示:
ADOQuery1: commandtext does not return a result set;

解决方案 »

  1.   

    你在最后用AdoQuery1.Active := true;语句将数据集打开了但是sql语句并没有返回值;
    可以j加一句:sql.add(select * from AnteMain );
      

  2.   

    AdoQuery1.Active := true;
    是多余的 没有必要的 还产生了错误
    直接AdoQuery1.ExecSql;就可以了
      

  3.   

    AdoQuery1.Close;
    AdoQuery1.SQL.Clear;
    AdoQuery1.SQL.Add('INSERT INTO AnteMain (ID,Anter,AnteDate,Code,Val,Flag)'+#13
    +'VALUES (:ID,'+#39+'fwz'+#39+',:Date,0,:All,0)');
    AdoQuery1.Parameters.Items[0].Value := ID;
    AdoQuery1.Parameters.Items[1].Value := now;
    AdoQuery1.Parameters.Items[2].Value := SumValue;try
       AdoQuery1.Post;
    finally
    end;
      

  4.   

    // AdoQuery1.Active := true; //去掉