![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: Query
Löschen eines bestimmten Datensatzes!
Morgen!
hab mal wieder ein kleines Problem! ich will aus meiner Datenbank einen bestimmten Datensatz mit Angabe der Indexnummer löschen. Die Indexnummer ist bei mir rownr und ich hab es erstmal so versucht:
Delphi-Quellcode:
der Fehler liegt beim Selektieren mit der WHERE-Anweisung oder? Nur was fehlt da und geht das überhaupt?
query1.RecNo := rownr;
query1.SQL.Clear; query1.SQL.add('DELETE * FROM addyDB WHERE rownr'); query1.ExecSQL; query1.RequestLive := true; |
Re: Löschen eines bestimmten Datensatzes!
Hi,
Indexnummer ist leider kein besonders aussagefähiger Begriff. Wenn du SQL zum Löschen verwendest, dann verwendest du in der Regel den Primärschlüssel zur Identifizierung des korrekten Datensatzes. Wenn der Primärschlüssel ROWNR heißen sollte, dann könnte das so aussehen:
Delphi-Quellcode:
Grüße vom marabu
procedure TForm1.DeleteRecord(rownr: Integer);
begin with Query1 do begin SQL.Text('DELETE FROM addyDB WHERE rownr = :rownr'); Params.ParamByName('rownr').AsInteger := rownr; ExecSQL; end; end; |
Re: Löschen eines bestimmten Datensatzes!
hmmm...
hätt da wohl ncoh was erwähnen sollen....und zwar lass ich mir die Datenbank in einen Stringgrid ausgeben! Ermittle dann mit SelectCell die Zeile, was dann das rownr ist! über einen ButtonClick sollte dann der Datensatz gelöscht werden, den ich in den StringGrid makiert hab! Mit TTable war das kein Problem! Da hatte ich es immer einfach so gelöst:
Delphi-Quellcode:
und
procedure TForm1.ButtonLoeschenClick(Sender: TObject);
begin table1.RecNo := rownr; table1.Delete; end;
Delphi-Quellcode:
funktioniert so nicht, weil SQL.Text keinen Parameter verlangt.
SQL.Text('DELETE FROM addyDB WHERE rownr = :rownr');
|
Re: Löschen eines bestimmten Datensatzes!
Dir Parameter findes du unter .Params, aber du mußt über über den Primärschlüssel gehen, da du auf die RecNo über SQL nicht zugreifen kannst.
|
Re: Löschen eines bestimmten Datensatzes!
so ein mist aber auch...
danke für die Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz