2012-03-28 6 views
3

Ich habe versucht, online zu suchen, aber hatte kein Glück, Wie ich alle Datensätze in einem einstellbaren in Button klicken konnte, die ein variierendes Kriterium entsprechen. Zum Beispiel möchte ich in der Lage sein, alle Datensätze in einem Adotable zu löschen, wobei Labour_ID (dies ist ein Feldname im Adotable) gleich DBedit.Text ist.Löschen von Datensätzen in markierbar mit bestimmten Kriterien

Entschuldigung das ist ein bisschen vage, aber Vorschläge würden geschätzt.

dank

Antwort

8

Sie können die Zeilen mit einer einfachen Schleife löschen:

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

Besser noch ist es, ein TADOQuery zu verwenden, anstatt, und tun es mit SQL:

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

finden Sie in der Delphi-Dokumentation auf TDataSet.Locate für Informationen zum letzten LocateOptions Parameter. (Der Link ist zu den Dokumenten von XE2, aber er hat sich für ADO seit D7 nicht sehr verändert (wenn überhaupt)).

+0

Danke, das hat gut für mich funktioniert – Alexjjsmith

Verwandte Themen