我正在尝试在访问数据库中添加一些数据。但是我有麻烦,因为这会返回错误:

ADOQuery1 missing sql property


实现了对代码的几次修改,到目前为止没有任何效果。

我究竟做错了什么 ?

try
    ADOConnection1.Connected := true;
    ADOQuery1.Active := true;
    try
        ///
        AdoQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('INSERT INTO IP (tit_ip, url_ip, im_ip, des_ip) VALUES ( :a, :b, :c, :d )');
        AdoQuery1.parameters.parambyname('a').value := 'sd';
        AdoQuery1.parameters.parambyname('b').value := 'sdsd';
        AdoQuery1.parameters.parambyname('c').value := 'sd';
        AdoQuery1.parameters.parambyname('d').value := 'df';
        AdoQuery1.ExecSQL;
        AdoQuery1.close;
    finally
        ADOQuery1.Active := false;
        ADOConnection1.Connected := false;
    end;
except
    showmessage('Erro');
end;

最佳答案

调试器应该已经向您显示了失败的行。去掉

 ADOQuery1.Active := true;


这与打开查询相同,但是您需要在设置SQL之前执行此操作。如果确实要插入,删除或更新,则应真正使用TADOCommand而不是TADOQuery,但是TADOQuery可以使用。

10-04 13:47