![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: Zeos
Daten werden beim zweiten Post nicht geschrieben
Hi Leute,
ich hab grad nen Kumpel bei mir und wir suchen einen Fehler in seinem Programm. Und zwar werden über ein Query im Edit-Modus geändert. Wenn das Prog aufgerufen wird, wir das Query mit "Select * from blablabla" in active gesetzt. Jetzt kann per query.edit der Datensatz in den Editiermodus gesetzt werden, Daten geändert und mit Post wieder in die Datenbank zurückgeschrieben werden. Soweit ist auch alles gut. Wenn jetzt aber das query noch mal mit anderen Selection aufgerufen wird, und dabei ist es egal ob ich die Datenmenge irgendwie eingrenze, in Edit-Modus gehe und wieder was änderere, dann wird das Post zwar ausgeführt ohne Fehlermeldung, aber es wird nichts in die DB zurückgeschrieben. Aber das Post wird definitiv aufgerufen. Wenn ich per ZSQLMonitor ein Log mitschreibe, kann ich sehen, dass auch tatsächlich kein Post ausgeführt wurde. Es tritt aber auch so überhaupt keine Exception auf. Hat irgendwer einen Tipp, woran das noch liegen könnte? Okay, was ich oben beschrieben habe ist sicherlich keine so glückliche Vorgehensweise (d.h. ich würde es sowieso anders programmieren) aber ich will meinem Kumpel nicht sagen, er soll einfach alles nochmal machen. Außerdem interessiert mich ja jetzt was da passiert bzw. eben nicht passiert. |
Re: Daten werden beim zweiten Post nicht geschrieben
Hi,
wenn ich es richtig verstehe, wird der SQL in der Query dynamisch ausgetausch. Ich würde mal versuchen, mit UnPrepare und Prepare zu arbeiten. Also:
Delphi-Quellcode:
Und wenn es das Property RequestLive gibt, muss dieses True sein.
Query.Close;
if Query.Repared then Query.UnPrepare; Query.SQL.Text := 'select ...'; Query.Prepare; Query.Open; Cu, Frank |
Re: Daten werden beim zweiten Post nicht geschrieben
Hallo Frank,
danke für deine Gedankenanregung. In dem zeos-query gibt es kein Prepare bzw unprepare und auch kein requestlive. Ich hab mir auch den Code zig mal angeschaut, und alles mögliche geprüft. Query wird auch ausgeführt. Die richtige Datenmenge steht zur Verfügung. Im DBEdit ist auch der richtige Wert drin. Im Editmodus bin ich auch. Aber sobald dann das Post durchgeführt wird, steht im DBEdit sofort der alte Wert. Ich kann's mir wirklich nicht erklären. Zumal gleich nach Progstart auch per Query die Datenmenge zu Verfügung gestellt wird, nur dass da erst mal alle vorhandenen Datensätze im Query sind. Da ist eine Änderung und das dazugehörige Post kein Prob (ist auch die selbe Procedure). Aber sobald das gleiche Query noch nochmal geändert wird (Erst active:=false, dann sql.text:='select * from .... where ...', und dann active:=True)geht kein Post mehr, egal was ich mache. |
Re: Daten werden beim zweiten Post nicht geschrieben
Hallo,
welche ZEOS-Version / Patch. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 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