Autor Beitrag
cyberax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 247

Win XP Pro
Delphi 5 Enterprise
BeitragVerfasst: Sa 07.10.06 19:06 
Hallo,

habe wieder ein Problem. Wenn ich eines meiner Fenster öffne, dann wird
ausblenden Delphi-Quelltext
1:
2:
3:
4:
 ZQuery_rechnung.sql.Text:='SELECT * from RECHNUNGEN';
 if ZQuery_rechnung.Active=false then ZQuery_rechnung.active:=true;
 ZQuery_rechnung.open;
 ZQuery_rechnung.insert;


aufgerufen. Die Eintragungen werden unter anderem in einem Grid dargestellt.
Wenn ich nun aber keine Änderungen bzw. keinen neuen Eintrag machen und die Reihe im Grid wechsel oder einfach abbreche (Query.cancel) dann kommt folgende Fehlermledung:
"...SQL Error Code -104 ...unknown line... SQL: SELECT '0' FROM RECHNUNGEN FROM RDB$DATABASE;"

Die Tabelle hat ein autoinc Feld (ID) das mit einer ZSequence erstellt/eingetragen wird. Habe also im Query bei "Sequence" den Sequence Namen und bei Sequencefield "ID" stehen.

Andere Infos nötig?
Die selben Einstellungen funktionieren mit einer anderen Tabelle einwandfrei.
Tips?
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Sa 07.10.06 19:58 
Zitat:
if ZQuery_rechnung.Active=false then ZQuery_rechnung.active:=true;
ZQuery_rechnung.open;
Eine dieser beiden Zeilen ist überflüssig.
Ich würde das DataSet nicht unnötiger weise in den Insert-Modus setzen.

_________________
Markus Kinzler.
cyberax Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 247

Win XP Pro
Delphi 5 Enterprise
BeitragVerfasst: So 08.10.06 12:24 
naja, aber wie soll ich sonst einen neuen Datensatz einfügen wenn nicht mit .insert??
cyberax Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 247

Win XP Pro
Delphi 5 Enterprise
BeitragVerfasst: Di 10.10.06 18:27 
Also ich glaube der Fehler kommt von Commit. Ich habe meine DB auf AUTOCOMMIT = FALSE gestellt.

Wenn ich dann Commit durchgeführt habe kommt danach ein Fehler vom Query:

"Operation bei geschlossener Datenbmenge nicht ausführbar".
Wie gehe ich am besten mit commit um? In der Hilfe zu Zeos steht, mann soll die Methode Starttransaction mit aufrufen. Wie gehe ich damit um??