Guten Tag zusammen,
meine Umgebung:
Delphi XE2 archi
ZEOS 7.1.0 beta
ZConnection
TZQuery
TZUpdateSQL
TDatase
DBGrid
Zuerst zum Fehler in Zeos (vielleich hilft das auch anderen mit dem gleichen Problem)
Unit ZSQLUpdate, procedure TZUpdateSQL.PostUpdates
Das DBGrid zeigt über eine visuelle Komponente TZQuery in Verbindung mit TDataset eine Ergebnismenge an. Änderungen werden über eine TUpdatesql gesteuert.
Parallel hierzu werden Daten aus einer Textdatei eingelesen und mit einer dynamisch erzeugten TZQuery eingefügt. Diese nutzt nicht die UpdateSQL
Setze ich die Anzeige der visuellen Komponente nach dem Einlesen neu mit close, setzen der Params und open, so wird das richtige Ergebnis im Grid dargestellt (Hier wird durch Anklicken von Schaltflächen das Anzeigeergebnis verändert.)
Lösche ich jetzt einen der neuen Datensätze, so kommt es zu einer ZSQLException in oben genannter Roputine.-
Der Fehler entsteht beim Setzen des Connection.cursors in der Unit TZAbstractConnection und der procedure HideSQLHourGlass
bei der Abfrage "if not FSqlHourGlass"
Nehme ich in der erstgenannten Procedure die beiden Anweisungen raus läuft alles wunderbar:
Ich hoffe das hat keine weiteren Auswirkungen
__________________________________________________ ________________________
Nun aber zu meinem Anzeigefehler
Nach dem Einlesen der Daten sind diese auch korrekt in der DB. Ich habe das Einfügen in eine eigenen Transaction gekapselt und beende das dann mit commit.
Im Anschluß wird die visuelle Komponente TZQuery geschlossen und mit den gleichen Parametern wieder geöffnet. Das Ergebnis ist: leer
Klicke ich im Fenster auf eine andere Auswahl und wieder zurück ist alles da.
Das verstehe ich jetzt nicht. Kann ich das irgendwie erzwingen, dass die Daten angezeigt werden? Ich möchte ungern den Connect zur DB beenden und neu herstellen. Das erscheint mir denn doch etwas zu heftig.
Übrigens auch ohne manuelle Transaction ändert sich nichts. Die Connection hat "autocommit" und "tireadcommit" gesetzt.
Danke für eure Hilfe und Gruß
Peter
meine Umgebung:
Delphi XE2 archi
ZEOS 7.1.0 beta
ZConnection
TZQuery
TZUpdateSQL
TDatase
DBGrid
Zuerst zum Fehler in Zeos (vielleich hilft das auch anderen mit dem gleichen Problem)
Unit ZSQLUpdate, procedure TZUpdateSQL.PostUpdates
Das DBGrid zeigt über eine visuelle Komponente TZQuery in Verbindung mit TDataset eine Ergebnismenge an. Änderungen werden über eine TUpdatesql gesteuert.
Parallel hierzu werden Daten aus einer Textdatei eingelesen und mit einer dynamisch erzeugten TZQuery eingefügt. Diese nutzt nicht die UpdateSQL
Setze ich die Anzeige der visuellen Komponente nach dem Einlesen neu mit close, setzen der Params und open, so wird das richtige Ergebnis im Grid dargestellt (Hier wird durch Anklicken von Schaltflächen das Anzeigeergebnis verändert.)
Lösche ich jetzt einen der neuen Datensätze, so kommt es zu einer ZSQLException in oben genannter Roputine.-
Der Fehler entsteht beim Setzen des Connection.cursors in der Unit TZAbstractConnection und der procedure HideSQLHourGlass
bei der Abfrage "if not FSqlHourGlass"
Nehme ich in der erstgenannten Procedure die beiden Anweisungen raus läuft alles wunderbar:
Code:
//if Dataset is TZAbstractRODataset then //(Dataset as TZAbstractRODataset).Connection.ShowSqlHourGlass;
__________________________________________________ ________________________
Nun aber zu meinem Anzeigefehler
Nach dem Einlesen der Daten sind diese auch korrekt in der DB. Ich habe das Einfügen in eine eigenen Transaction gekapselt und beende das dann mit commit.
Im Anschluß wird die visuelle Komponente TZQuery geschlossen und mit den gleichen Parametern wieder geöffnet. Das Ergebnis ist: leer
Klicke ich im Fenster auf eine andere Auswahl und wieder zurück ist alles da.
Das verstehe ich jetzt nicht. Kann ich das irgendwie erzwingen, dass die Daten angezeigt werden? Ich möchte ungern den Connect zur DB beenden und neu herstellen. Das erscheint mir denn doch etwas zu heftig.
Übrigens auch ohne manuelle Transaction ändert sich nichts. Die Connection hat "autocommit" und "tireadcommit" gesetzt.
Danke für eure Hilfe und Gruß
Peter
Comment