Quien sabe, quizá por culpa de los campos persistentes, ...
En todo caso, ¿ hay alguna razón para aprovechar tanto un TADOQuery ?. Si simplemente pones 2 TADOQuery, uno para las consultas y otro para las inserciones, te ahorraras este problema.
Además te recomiendo que no modifiques el contenido de la propiedad SQL. Simplemente pón consultas parametrizadas. Algo del tipo :
Consulta : SELECT * FROM B WHERE FECHA = :FECHA
Inserción : INSERT INTO B (CAMPO1, CAMP2) VALUES (:CAMPO1, :CAMPO2)
Ahora el código de los botones te quedará :
Código:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
adoConsulta.Params.ParamValues['FECHA'] := Date;
adoConsulta.Open;
for i:=1 to adoConsulta.RecordCount do begin
listbox1.items.add(adoConsulta.FieldByName('CAMPO1').AsString);
adoConsulta.Recordset.MoveNext;
end;
adoConsulta.Close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
adoInsercion.Params.ParamValues['CAMPO1'] := 8;
adoInsercion.Params.ParamValues['CAMPO2'] := 8;
adoInsercion.ExecSQL;
end;
Saludos