Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi gesicherter DB-Zugriff (https://www.delphipraxis.net/10497-gesicherter-db-zugriff.html)

Tonic1024 20. Okt 2003 07:48


gesicherter DB-Zugriff
 
Moin...

Ne allgemeine Frage an die DB-Spezis...

Ich habe leider den Begriff dafür vergessen... Es gibt doch die Möglichkeit (zumindes bei MySQL) einen Befehl zu prüfen befor er ausgeführt wird. Bzw der Befehl wird rückgängig gemacht, wenn während der Ausführung ein fehler auftritt. Speziell weim Ändern von Datensätzen.

Meine Frage: Wie war noch gleich der Name dieser Eigenschaft und geht das auch bei einer IB-Datenbank?
Und natürlich: Kann ich es in Delphi mit einer Query realisieren?

Ich habe vor mir einen Teil der Datenbank mittels einer Abfrage in eine Query zu lesen, dort einige Änderungen vorzunehmen und dann zusammen wieder zurüchzuübertragen... Hab das irgendwo gelesen, dass das geht. Aber Ich habe in der DB hat ziemlich sensible Daten (ist das nicht immer so???).

Bis denne...

Tanadirian 20. Okt 2003 08:44

Re: gesicherter DB-Zugriff
 
Ich denke der Begriff den du suchst ist 'rollback', wenn du Transaktionen rückgängig machen willst. Ich weis aber nicht ob dir das hilft, bei IB-Datenbanken kenn ich mich nicht aus. Aber mit ner ordentlichen Fehlerbehandlung kriegt man das auf jeden Fall hin (zur Not speicherts du die Originaldaten irgendwo zwischen).

MrSpock 20. Okt 2003 09:41

Re: gesicherter DB-Zugriff
 
Hallo Tonic1024,
Interbase/Firebird unterstützt umfangreiche Transaktionskontrollen.
Jeder Datenbankzugriff bzw. jede Gruppe von Datenbankzugriffen wird entweder mit COMMIT durchgeführt oder mit ROLLBACK rückgängig gemacht.

Tonic1024 20. Okt 2003 13:25

Re: gesicherter DB-Zugriff
 
Moin...

Ja, genau... das war das...

Ist das eine gängige - sprich gute - Art und Weise an das Problem heranzugehen? Speziell wegen der Query? oder gibt das da noch geheimnisvolle Mittel und Wege die Delphi da bereitstellt?

Die Query sammelt doch alle Änderungen und überträgt dann bei UPDATE auch nur diese, oder bin ich da verkehrt?

bis denne...

woki 20. Okt 2003 15:04

Re: gesicherter DB-Zugriff
 
Hi,

Transaktionen sind die Methode um Konsistenz von Datenänderungen sicherzustellen, Delphi hat da nichts geheimnisvolles anderes, sondern unterstützt Transaktionen.

Gerade in Bezug auf MySQL ist da aber vorsicht angesagt, denn MySQL besitzt mehrere (ich meine 3) verschiedene Datenbankengines, und meines Wissens unterstützt nur eine von den dreien Transkationen.

Grüsse
Woki

Tonic1024 21. Okt 2003 07:19

Re: gesicherter DB-Zugriff
 
Moin...

Siehst... das meine ich... und wollt ich wissen...

Also es gibt nix, was das automatisiert. Und schauen was und wie ichs mache muss ich auch.

Alles klar, danke... das hilft schon.

bis denne...

woki 21. Okt 2003 09:09

Re: gesicherter DB-Zugriff
 
Hi,
Zitat:

Also es gibt nix, was das automatisiert. Und schauen was und wie ichs mache muss ich auch.
Doch natürlich, Transaktionen automatisieren das, nach dem Schema:

Beginnetransaktion
try
mache Änderungen
wenn alles gutgegangen dann commit

except
rollback (Alles wird automatisch rückgängiggemacht)

Um "das Zwischenspeichern von Originaldaten etc etc etc ...

kümmert sich die Datenbank.

Du mußt einml verstehen was Transaktionen genau sind, aber dann fast nichts selber tun. Automatischer geht es doch wohl nicht. Delphi kann da auch nichts anderes tun, weil Delphi keine Datenbank ist, und diese Aufgabe nur von der Datenbank übernommen werden kann.

Interbase unterstützt Transkationen als lang existierende Datenbank ohne Einschränkung, und MySQL als erst kürzlich erwachsen gewordenes Spielzeug unter bestimmten Umständen.

Alles klar?

Grüsse
Woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:18 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