Entwickler-Ecke
Datenbanken - ZEOS + Query.ApplyUpdates = Fehler
matze.de - Mo 29.05.06 22:41
Titel: ZEOS + Query.ApplyUpdates = Fehler
Hi,
Ich benutze FireBird 1.5 Embedded mit den ZEOS Komponenten. Ich habe ein, für mich, sehr seltsames Problem. Ich habe eine DBLookUpListBox und ein DBEdit Die mit den richtigen Feldern und Datasets verbunden sind. Diese zeigen bei mir auch Daten an. Wenn ich aber nun in meinem DBEdit einen Datensatzt, welchen ich aus der ListBox gewählt habe editiere und auf meinen "ÜbernehmenButton"
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Procedure TFahrerForm.Btn_FahrerOkClick(Sender: TObject); Begin MainForm.Dataset.ApplyUpdates; MainForm.Dataset.CommitUpdates; Close; End; |
drücke, bekomme ich die Fehlermeldung
"SQL Error: Dynamic SQL Error SQL Error Code:-104 Unexpected End of Command. Error Code:-104 Invalid Token"
Mein Programm führt vom Programmstart bis zum Fehler folgenden relevanten Source aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| Connection := TZConnection.Create(self);
Dataset := TZQuery.Create(self); Dataset.Connection := FConnection; Dataset.CachedUpdates := True; Dataset.ReadOnly := False;
MyDataSource.DataSet := FDataset;
UpdateDataset := TZUpdateSQL.Create(self); Dataset.UpdateObject := FUpdateDataset;
Connection.Protocol := 'firebird-1.5'; Connection.Database := GetHomeDir + 'MYDB.FDB'; Connection.User := 'USER'; Connection.Password := 'PW'; Connection.ReadOnly := False; Connection.TransactIsolationLevel := tiReadCommitted;
Connection.Connect;
DBLkU_Fahrer.ListSource := MainForm.MyDataSource; DBLkU_Fahrer.ListField := 'FAHRERNAME'; DBLkU_Fahrer.KeyField := 'FID'; DBEd_Name.DataSource := MainForm.MyDataSource; DBEd_Name.DataField := 'FAHRERNAME';
Dataset.SQL.Text := 'SELECT * FROM Fahrer ORDER BY FID ASC;'; Dataset.Open; Dataset.ApplyUpdates; Dataset.CommitUpdates; [...] |
mfg matze
raiguen - Di 30.05.06 15:28
Moin :)
Quelltext
1:
| Dataset.SQL.Text := 'SELECT * FROM Fahrer ORDER BY FID ASC;'; |
Würde so auf den ersten Blick sagen, dass das
; die Ursache des Fehlers sein könnte :gruebel: Macht der Gewohnheit, am Ende einer Zeile bzw Statemnets ein Semikolon zu setzen (ist mir auch schon passiert...) ;)
matze.de - Di 30.05.06 17:54
raiguen hat folgendes geschrieben: |
Moin :)
Quelltext 1:
| Dataset.SQL.Text := 'SELECT * FROM Fahrer ORDER BY FID ASC;'; |
Würde so auf den ersten Blick sagen, dass das ; die Ursache des Fehlers sein könnte :gruebel: Macht der Gewohnheit, am Ende einer Zeile bzw Statemnets ein Semikolon zu setzen (ist mir auch schon passiert...) ;) |
Leider war es das nicht :/ Er zeigt die Daten des Select-Statements ja auch richtig an, nur wenn sie editiert worden sind und dann per
Delphi-Quelltext
1: 2:
| Dataset.ApplyUpdates; Dataset.CommitUpdates; |
gespeichert werden sollen, bekomme ich die Exception.
mfg matze
matze.de - Di 30.05.06 18:38
Ich glaube ich habe den Fehler nun gelöst, weiß aber immernoch nicht warum er auftritt vllt könnt ihr mir das erklären :) Ich hab einfach die TUpdateQuery rausgenommen, da sie in meinem Quelltext noch unnötig war, und siehe da, es funktioniert.
mfg matze
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!