Delphi-PRAXiS
Seite 2 von 2     12   

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)

mirko2000 30. Jul 2004 12:39

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

Zitat von Jelly
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

Ich würd eher mal sagen, wenn die Verbindung unterbrochen wurde kann man auch kein Rollback-Befehl mehr senden. Aber wenn man mit Transaktionen arbeitet werden die Änderungen ja erst endgültig übernommen wenn man sie mit COMMIT abschließt. Wenn man das nicht macht wird an der Datenbank auch nichts geändert!

Tyrael Y. 30. Jul 2004 12:50

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Das RollbackTrans wäre je auch für andere Exceptions.

Wenn die Verbindung abbricht bevor ein CommitTrans erfolgt ist, wird auch keine
Änderung an der Datenbank durchgeführt.

Die Datenbank erzeugt temporäre Tabellen beim Befehl BeginTrans und führt die folgenden Anweisungen nur in diesen temporären Tabellen aus.

Erst ein CommitTrans führt dazu das der Inhalt der temporären Tabellen in die eigentlichen Tabellen übertragen wird.

Kommt kein CommitTrans wird die Datenbank nicht verändert.

HaJo 30. Jul 2004 14:01

Re: Wie feststellen ob SQL-Befehl erfolgreich ausgeführt wur
 
Hallo zusammen,

innerhalb von Delphi gibt es seit jeher den SQL-Monitor. Damit geht so etwas :-)

Gruß
Jochen

DataCool 31. Jul 2004 00:19

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

zurück zur Hauptfrage, wenn Du ein SQL-Statement ausführst, dann kannst Du über die Eigenschaft RowsAffected herausfinden ob Dein Statement erfolgreich war.

Terminator 31. Jul 2004 09:53

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

Zitat von Tyrael Y.
Erst ein CommitTrans führt dazu das der Inhalt der temporären Tabellen in die eigentlichen Tabellen übertragen wird.
Kommt kein CommitTrans wird die Datenbank nicht verändert.

Hät zu dem Thema noch ne Frage/Anmerkung:

Angenommen die Verbindung bricht vor dem Commit ab.
Die DB wird zwar net verändert, aber die Temp-Tabelle bleibt solange bis die DB Sie mal löscht.

Was passiert dann eigentlich bei nem Select.
Die DBs haben doch so komische Isolation-Levels.
Werden IMMER nur die Datensätze geliefert, die auch erfolgreich in die Tabelle geschrieben wurden?

Bin mir da nicht sicher - auch nicht was für Standard-Einstellungen die DBs besitzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Seite 2 von 2     12   

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