Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi nach commit ist alles weg (https://www.delphipraxis.net/134452-nach-commit-ist-alles-weg.html)

clock50 22. Mai 2009 13:01

Datenbank: firebird • Version: 1.5 • Zugriff über: IB

nach commit ist alles weg
 
Hallo zusammen, ich bin dabei meine Kundendatenbank auf firebird umzuschreiben. Ich habe etwas mit IBTable und IBQuery getestet aber mit IBQuery kann ich nichts einfügen oder ändern und mi IBTable bin ich zu unflexibel. Ich habe gelesen, das IBDataSet beides vereit und nun habe ich ein Problem: Ich kann zwar Datensätze einfügen aber nicht ändern nach
Delphi-Quellcode:
procedure TDM.SQLUpdate;
begin
    if DM.IBTransaction1.InTransaction then
     begin
      DM.IBTransaction1.Commit;
      DM.IBDatabase1.Open;
      DM.IBTransaction1.StartTransaction;
      DM.IBDataSet1.Active := True;
     end;
end;
ist alles weg.

ich glaube es liegt an IBDataSet.ModifySQL, da habe ich folgendes eingetragen:
SQL-Code:
UPDATE KUNDEN SET anrede=:anrede, vorname=:vorname, name=:name, land=:land, plz=:plz, ort=:ort, strasse=:strasse, tel=:tel, fax=:fax, mail=:mail, knr=:knr WHERE ID=:OLD_ID

HHennig 22. Mai 2009 21:04

Re: nach commit ist alles weg
 
Hallo,
poste doch bitte auch mal die SelectSQL-Anweisung.
Übrigens brauchst du die DB nach einem Commit nicht neu zu öffnen, die Verbindung besteht bis zu einem expliziten IBDatabase.Close.

clock50 22. Mai 2009 23:13

Re: nach commit ist alles weg
 
Select
SQL-Code:
SELECT * FROM KUNDEN
Insert
SQL-Code:
INSERT INTO KUNDEN (ID, anrede, vorname, name, land, plz, ort, strasse, tel, fax, mail, knr) VALUES (:ID, :anrede, :vorname, :name, :land, :plz, :ort, :strasse, :tel, :fax, :mail, :knr)
Modify
SQL-Code:
UPDATE KUNDEN SET anrede=:anrede, vorname=:vorname, name=:name, land=:land, plz=:plz, ort=:ort, strasse=:strasse, tel=:tel, fax=:fax, mail=:mail, knr=:knr WHERE ID=:OLD_ID
Delete
SQL-Code:
DELETE FROM KUNDEN WHERE ID =:ID
Refresh
SQL-Code:
SELECT * FROM kunden
da sind sie alle

Hansa 22. Mai 2009 23:44

Re: nach commit ist alles weg
 
Poste besser mal die Fehlermeldung, bzw. sage wenigstens ob eine kommt. Ist überhaupt ein Post abgesetzt worden? :shock:

clock50 22. Mai 2009 23:52

Re: nach commit ist alles weg
 
Ein Fehlermeldung bekomme ich nicht!
Wenn ich nur Post mache werden die Daten noch im DBGrid angezeigt nach dem Commit ist dann alles weg.

Ich habe einen Button für Post und IBDataSet.AferPost -> Commit (die Procedur SQLUpdate siehe oben)

clock50 23. Mai 2009 16:07

Re: nach commit ist alles weg
 
So ich hab mal noch ein wenig geteste. Es ist schon beim Post alles weg. Aber warum?

TBx 23. Mai 2009 18:01

Re: nach commit ist alles weg
 
Häng doch Dein Projekt bitte mal an. Ansonsten ist das Stochern im Dunkeln. Und meine :glaskugel: ist wie üblich nicht verfügbar ;-)

clock50 23. Mai 2009 21:48

Re: nach commit ist alles weg
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich hab's mal angehängt.

mkinzler 23. Mai 2009 22:02

Re: nach commit ist alles weg
 
Ich sehe keinen Code für ein Update. es wird nur ein Insert gemacht.
Gibst du die ID wirklich vor oder per Autoinc( Generator + Trigger)?

clock50 24. Mai 2009 06:26

Re: nach commit ist alles weg
 
Zitat:

Zitat von mkinzler
Ich sehe keinen Code für ein Update. es wird nur ein Insert gemacht.
Gibst du die ID wirklich vor oder per Autoinc( Generator + Trigger)?

Code für ein Update? Ich war der Meinung (leider wenig Beispiele) das die ModifySQL - Anweisung ausreicht

Da ich mich erst seit kurzem damit beschäftige benutze ich keinen Generator + Trigger, ich habe keine einfachen Beispiele dafür gefunden.

Ich brauch wohl noch etwas nachhilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.
Seite 1 von 2  1 2      

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