Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wurde? (https://www.delphipraxis.net/26794-wie-feststellen-ob-sql-befehl-erfolgreich-ausgefuehrt-wurde.html)

daywalker-dj-k 29. Jul 2004 14:21


Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wurde?
 
hallo,
wie kann ich herausbekommen, ob ein sql-befehl erfolgreich ausgeführt wurde? also die befehle sehen etwa so aus:

Query1.SQL.Add('INSERT INTO artikel ...);
Query1.ExecSQL;

Ich könnte natürlich nun mit SELECT abfragen ob der jeweilige artikel hinzugefügt worden ist (anhand des primärschlüssels), aber das wäre nun ziemlich umständlich.

danke
gruß
thorsten

Mario 29. Jul 2004 14:35

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Wenn ein SQL nicht ausgeführt wurde, kommt doch eine Exception, oder? Reicht das nicht oder was meinst Du mit "nicht ausgeführt".

daywalker-dj-k 29. Jul 2004 14:41

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Mhh .. ne Exception kam bei mir noch nie. Einige Probleme hatte ich aber schon. Kommt die wirklich?

Dann muss es wohl an meinem Quelltest liegen. :-)

Mario 29. Jul 2004 14:47

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Die Exception kommen, wenn Dein SQL Syntax-Fehler hat, oder Du zum Beispiel Primärschlüssel verletzt.

daywalker-dj-k 29. Jul 2004 15:03

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
hallo,
also die synthax bei mir ist richtig. ich möchte nur gerne wissen, ob beim ausführen ein fehler auftrat, z.b. wenn die netzwerkverbindung während des ausführens des befehls abbricht o.Ä..

gruß
thorsten

fluxury 29. Jul 2004 15:26

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Hallo @daywalker-dj-k


würde dies nicht auch einen Fehler erzeugen, den man abprüfen kann ...

Mario 29. Jul 2004 15:30

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Normalerweise schon, die Frage ist hier nur wieder, wie man jetzt reagieren soll? Da die Verbindung weg ist, kann man auch nix mehr rückgängig machen.

Tyrael Y. 29. Jul 2004 15:56

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Zitat:

ExecSQL returns an integer value reflecting the number of rows affected by the executed SQL statement.
Du weisst ja wieviele Datesätze du mit der Anweisung ändern möchtest.


Für Netzwerksverbindungsfehler oder andere Exceptions empfehle Transaktionen:

Delphi-Quellcode:
  LQuery.Connection.BeginTrans;
  try
    LQuery.SQL.Text := 'IRGENDEIN STATEMENT';
    LQuery.ExecSQL;

    LQuery.CommitTrans;
  except
    LQuery.Connection.RollbackTrans;
  end;
Das sollte helfen, denk ich.


mfg

Jelly 30. Jul 2004 08:48

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Zitat:

Zitat von Mario
Da die Verbindung weg ist, kann man auch nix mehr rückgängig machen.

Doch, wenn du mit Transactions schaffst, kannst du bei einer Exception ein Rollback senden.

Gruß,
Tom

Tyrael Y. 30. Jul 2004 12:26

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Und hat es geholfen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr.
Seite 1 von 2  1 2      

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