2012-03-28 6 views
3

オンラインで見てみましたが運がなかった さまざまな条件に一致する、ボタンクリックですべてのレコードを削除する方法を教えてください。例えば、私はLabot_ID(これはadotable内のフィールド名です)がDBedit.Textと等しい場合に、adotable内のすべてのレコードを削除したいと考えています。特定の基準を持つ有価証券のレコードを削除する

申し訳ありませんが、これは少し曖昧ですが、お勧めします。おかげ

答えて

8

あなたが単純なループで行を削除することができます。まだ良い

while ADOTable1.Locate('Labour_ID', Edit1.Text, []) do 
    ADOTable1.Delete; 

ではなく、TADOQueryを使用することで、SQLでそれを行う:

ADOQuery1.SQL.Text := 'DELETE FROM YourTable WHERE Labour_ID = :Labour_ID'; 
ADOQuery1.Params.ParamByName('Labour_ID').AsString := Edit1.Text; 
ADOQuery1.ExecSQL; 

TDataSet.LocateにDelphiのドキュメントを参照してください最後のLocateOptionsパラメータに関する情報(このリンクはXE2のドキュメントへのリンクですが、D7以来ADOの変更はほとんどありません)。

+0

ありがとう、これは私にとってはうまくいった – Alexjjsmith

関連する問題