AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Löschen eines bestimmten Datensatzes!
Thema durchsuchen
Ansicht
Themen-Optionen

Löschen eines bestimmten Datensatzes!

Ein Thema von Pepsen · begonnen am 11. Okt 2006 · letzter Beitrag vom 11. Okt 2006
Antwort Antwort
Pepsen

Registriert seit: 4. Sep 2006
Ort: Bremen
13 Beiträge
 
#1

Löschen eines bestimmten Datensatzes!

  Alt 11. Okt 2006, 08:37
Datenbank: Paradox • Version: 7 • Zugriff über: Query
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:
query1.RecNo := rownr;
  query1.SQL.Clear;
  query1.SQL.add('DELETE * FROM addyDB WHERE rownr');
  query1.ExecSQL;
  query1.RequestLive := true;
der Fehler liegt beim Selektieren mit der WHERE-Anweisung oder? Nur was fehlt da und geht das überhaupt?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Löschen eines bestimmten Datensatzes!

  Alt 11. Okt 2006, 08:49
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:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Pepsen

Registriert seit: 4. Sep 2006
Ort: Bremen
13 Beiträge
 
#3

Re: Löschen eines bestimmten Datensatzes!

  Alt 11. Okt 2006, 09:50
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:
procedure TForm1.ButtonLoeschenClick(Sender: TObject);

begin
  table1.RecNo := rownr;
  table1.Delete;
end;
und SQL.Text('DELETE FROM addyDB WHERE rownr = :rownr'); funktioniert so nicht, weil SQL.Text keinen Parameter verlangt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Löschen eines bestimmten Datensatzes!

  Alt 11. Okt 2006, 09:57
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Pepsen

Registriert seit: 4. Sep 2006
Ort: Bremen
13 Beiträge
 
#5

Re: Löschen eines bestimmten Datensatzes!

  Alt 11. Okt 2006, 10:02
so ein mist aber auch...
danke für die Hilfe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz