Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Speichern von Daten vermeiden !?!? (https://www.delphipraxis.net/89303-speichern-von-daten-vermeiden.html)

dor557 29. Mär 2007 06:13

Datenbank: FB • Version: 2.0 • Zugriff über: IB-Komponenten

Speichern von Daten vermeiden !?!?
 
Ich habe folgendes Problem / etwas wo ich nicht verstehe.

Ich haben ein DBEdit Feld welches ich mit eine DataSource verbunden habe.

Nun bearbeite ich einen eintrag mit hilfe folgenden Codes:

Delphi-Quellcode:
   IBTable1Unternehmer.asstring := 'Name des unternehmers';
nun, so kenne ich es zumindest, kann ich mit

Delphi-Quellcode:
  IBTable1.post;
den ganzen schwindel speichern...

da ich das aber nicht möchte habe ich folgendes gemacht :

Delphi-Quellcode:
IBTable1.Close;
IBTable1.Open;
in der hoffnung das dann nichts in der DB gespeichert wurde.

Aber Dennoch wurden die Daten übernommen. :gruebel:
Mache ich was falsch oder habe ich da etwas falsch verstanden ???

Mfg Sascha....

oldmax 29. Mär 2007 06:37

Re: Speichern von Daten vermeiden !?!?
 
Hi
Da ist mir auch schon passiert und daher habe ich mich (fast) völlig von den DBxxx-Objekten getrennt. In der Regel benutze ich die UpDateSQL-Objekte in Verbindung mit einer Query und speichere gezielt mittels Append oder Edit direkt in die Felder und Ausführung der UpdateSQL.Apply(ukInsert) oder UpdateSQL.Apply(ukModify) Proceduren. Sicherlich kann man durch isModify erfahren, ob sich was geändert hat und entsprechend gegensteuern, aber das hab ich irgendwann einmal aufgegeben.
Gruß oldmax

marabu 29. Mär 2007 07:31

Re: Speichern von Daten vermeiden !?!?
 
Guten Morgen Sascha,

wenn du mit Post() einen Datensatz speicherst, so kannst du ihn mit Cancel() verwerfen. Ein Close-Open-Zyklus ist viel zu aufwendig. IBTable und IBQuery erleichtern die Portierung von BDE-Anwendungen, aber bei Neuentwicklungen solltest du dir IBDataSet anschauen.

Grüße vom marabu

uwewo 29. Mär 2007 07:47

Re: Speichern von Daten vermeiden !?!?
 
Hi Sascha,

kenne IBTable nicht aber Du kannst wahrscheinlich hiermit

Delphi-Quellcode:
  if (IBTable.State in [dsEdit,dsInsert]) then
prüfen ob sich die Daten geändert haben. Dazu musst Du allerdings die Unit DB in die Uses Anweisung mit aufnehmen.

shmia 29. Mär 2007 10:56

Re: Speichern von Daten vermeiden !?!?
 
Das Gegenstück zu [TDataset].Post ist [TDataset].Cancel.
Wenn du ein DBGrid auf deinem Formular hast, dann sorgt dieses dafür, dass Änderungen automatisch
übernommen werden (es sein denn die Option dgCancelOnExit wurde gesetzt).

dor557 31. Mär 2007 10:56

Re: Speichern von Daten vermeiden !?!?
 
Danke für alle Antworten.

Somit haben sich all meine Probleme, diesbezüglich in Luft aufgelöst. :bounce1:

danke alle zusammen.

Habe einen Neuen Thread begonnen bezüglich DB IB komponenten oder SQL...

Gruss Sascha


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 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 by Thomas Breitkreuz