报错如下:
Access violation at address 1F487DBC in module 'msado15.dll'.Write of address 00FB6004--------------------------------------------------------
只能点击一个按钮,再点击另一个就报什么msado15.dll的错
procedure TForm1.readtoeditClick(Sender: TObject);
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='select * from aaa where ID=1';
adoquery1.open;
if  adoquery1.recordcount  >0  then
  edit1.text:=adoquery1.fieldbyname('a1').asstring;end;procedure TForm1.updatedbClick(Sender: TObject);
var
sql:String;
begin
with adoquery1 do begin
  close;
  sql.clear;
  sql.add('update aaa set a1=:aa1');
  Parameters.ParamByName('aa1').Value := edit3.text;
  ExecSQL;
  end;
end;

解决方案 »

  1.   

    你这样是想实现更新ID=1的a1字段吧?如果是你这样写逻辑首先错了因为你更新时没有指定ID=1这个条件另外,update那句换成这样写试试看with adoquery1 do 
    begin
      close;
      sql.clear;
      sql.add('update aaa set a1='+''''+edit3.text+''''+' where ID=1');
      ExecSQL;
      end;
    end;
      

  2.   

    with adocommand1 do 
    begin
       sqlstr:='update aaa set a1=:p1 where ID=:p2';
       commandtext:=sqlstr;
       Parameters.ParseSQL(commandtext,true);
       for i:=0 to 1 do
          Parameters.Items[i].Size:=50;   Parameters.Items[0].Value:=text;//变量
       Parameters.Items[1].Value:=id;//变量
       execute;
    end;
      

  3.   

    mrfanghansheng(☆☆☆木鱼☆☆☆)结果是一样的,多点几次就不行了,另外
    ADOCOMMAND,如何用?
      

  4.   

    用两个不同的ADOQUERY试试
    qq号码:87952585 大家常联系