Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zeos + MySQL + Update kommt nicht an (https://www.delphipraxis.net/40414-zeos-mysql-update-kommt-nicht.html)

dizzy 15. Feb 2005 14:16

Datenbank: MySQL • Version: 4.1.9 • Zugriff über: ZEOS Lib

Zeos + MySQL + Update kommt nicht an
 
Hallo, Freunde der Nacht.

Ich bekomme via Zeos-Lib meine Daten aus einem Grid einfach nicht in meine MySQL-DB hinein.

Folgender Aufbau:
ZConnection ist connected und ReadOnly = false
Daran hängt ein ZQuery mit RequestLive = true
Daran wiederum ein ZUpdateQuery

An dem Query ist eine DataSource, die ihrerseits an ein DBGrid + DBNavigator angeflanscht ist.

Also ein im Grunde ganz simpler Aufbau zum Editieren der Tabellen mit Vollzugriff und ohne sonstigen Schnickschnack.

Werden jetzt Änderungen/Hinzufügungen im Grid gemacht, und via Navigator gepostet, so gibt es keinerlei Fehlermeldungen aber die Tabelle bleibt leer. Zwar bleiben die gemachten Einträge bis zum Reload im Grid, aber die DB ist leer. Die Query ist auch keine zusammengejointe, sondern ein simples "SELECT * FROM xyz". ZQuery.CachedUpdate ist auch false, und mein Latein am Ende :).

One single Word: HILFE :)

Sharky 15. Feb 2005 14:29

Re: Zeos + MySQL + Update kommt nicht an
 
Hai dizzy des Tages ;-)

Ich mache das ganze ohne ein UpDateQuery und es geht ohne Probleme.

Igotcha 15. Feb 2005 14:33

Re: Zeos + MySQL + Update kommt nicht an
 
Hallo dizzy,

ein paar Sachen scheinen mir etwas durcheinandergewürfelt zu sein bei Dir...

Grds. kann man für den Fall eines "SELECT * FROM ..." einen Zeos-Table nehmen. Tabelle aus der Datenbank zuweisen und fertig.

Der Fehler bei Dir liegt wahrscheinlich nicht im ZConnection, die Du ja richtig auf "ReadOnly=false" gesetzt hast, sondern im ZQuery. Es gibt davon 2 bei Zeos ein ReadOnly und eins, welches Updaten kann.

Entweder hast Du das falsche ZQuery genommen, oder beim richtigen ReadOnly auf true zu stehen.

Wenn Du nichts sortieren möchtest o.ä., würde ich das Ganze so machen:

DBGrid -> TDataSet -> ZTable -> ZConnection

Gruß Igotcha

dizzy 15. Feb 2005 14:49

Re: Zeos + MySQL + Update kommt nicht an
 
Danke euch beiden, aber so wirklich klappt beides nicht...
Arbeite ich ohne UpdateObject, so gibt's eine Exception der Zeos ("Can not update this Querytype"). Mit UpdateObject ist die schonmal weg, nur passiert garnix ^^.

Zitat:

Zitat von Igotcha
Grds. kann man für den Fall eines "SELECT * FROM ..." einen Zeos-Table nehmen. Tabelle aus der Datenbank zuweisen und fertig.

Das ist für diesen einfachen Fall okay, aber im Endprodukt soll es dann ganz anders zugehen. Dort brauche ich auf jeden Fall eine Query, auch editierbar, damit ich Zeiträume usw. filtern kann.

Zitat:

Zitat von Igotcha
Der Fehler bei Dir liegt wahrscheinlich nicht im ZConnection, die Du ja richtig auf "ReadOnly=false" gesetzt hast, sondern im ZQuery. Es gibt davon 2 bei Zeos ein ReadOnly und eins, welches Updaten kann.

Entweder hast Du das falsche ZQuery genommen, oder beim richtigen ReadOnly auf true zu stehen.

Es ist das ZQuery - beim ZReadOnlyQuery kann ich ja kein UpdateObject angeben.


Zitat:

Zitat von Igotcha
Wenn Du nichts sortieren möchtest o.ä., würde ich das Ganze so machen:

DBGrid -> TDataSet -> ZTable -> ZConnection

Als akkute Lösung okay, aber nichts für den Endkunden (s.o.)


Mit den "normalen" DB-Kompos geht's doch so schön einfach, waurm nicht hier auch? :)

Igotcha 15. Feb 2005 14:53

Re: Zeos + MySQL + Update kommt nicht an
 
Zitat:

Zitat von dizzy
Mit den "normalen" DB-Kompos geht's doch so schön einfach, waurm nicht hier auch? :)

Also bei mir, und ich benutze nur Zeos, funktioniert auch dieses wunderbar ;-)

Jelly 15. Feb 2005 14:54

Re: Zeos + MySQL + Update kommt nicht an
 
Also ich nutze auch die Query um Daten inzufügen, das alles ganz problemlos?

Mal ganz dumm gefragt? Hast du die nötigen Berechtigungen in MySQL überhaupt Daten einzufügen. Ich seh keinen Fehler in deiner Lösung.

Oder nutzt du vielleicht einen anderen Tabellentyp als MyISAM? Vielleicht fehlt dir ein Commit, falls du InnoDB verwendest?

dizzy 15. Feb 2005 14:55

Re: Zeos + MySQL + Update kommt nicht an
 
Könnte es damit zusammenhängen, dass ich Windows NT 4.0 Client einsetzen muss(!) ?
(Wobei mich das wundern würde - sonst hätte spätestens der MySQL-Administrator sicherlich gemeckert...)

dizzy 15. Feb 2005 15:00

Re: Zeos + MySQL + Update kommt nicht an
 
Zitat:

Zitat von Jelly
Oder nutzt du vielleicht einen anderen Tabellentyp als MyISAM? Vielleicht fehlt dir ein Commit, falls du InnoDB verwendest?

Ich benutze InnoDB, Tatsache. Aber leider wüsste ich jetzt nicht so dirket wo ich den Commit anbringen sollte... Ich steh da etwas auf dem Schlauch nach > 2h Rumprobieren ohne Erfolg :stupid:

Jelly 15. Feb 2005 15:15

Re: Zeos + MySQL + Update kommt nicht an
 
In TZConnection gibst in dem Zusammenhang die Methoden
Delphi-Quellcode:
  StartTransaction ;
  Commit ;
  Rollback ;
Setze mal ein StartTransaction in dein BeforeEdit und BeforeInsert Ereignis, und ein entsprechendes Commit in dein AfterPost.

Nachtrag: Eventuell reicht es auch schon aus, TransactIsolationLevel auf eine anderen Wert als taNone zu setzen?

dizzy 15. Feb 2005 15:23

Re: Zeos + MySQL + Update kommt nicht an
 
Das klang zunächst vielversprechend, aber leider keine Änderung. Was mich auch sehr stutzig macht ist, dass ich ohne UpdateObject o.g. Exception bekomme. Nur weiss ich mit dieser Klasse nicht umzugehen, da ich keine Ahnung hab ob da noch was rein muss, oder ob es reicht sie auf's Formular zu legen, und an das Query zu binden.
So langsam tendiere ich ja fast wieder zu Paradox-Tabellen :stupid: :D


\\edit: Das Transactionlevel brachte leider auch nix. Ich glaube eher, dass das Query irgendwie einen fehlerhaften Update-String erzeugt, da ja die Exception kommt. Das UpdateObject in leerer Form scheint diesen String zu leeren, so dass einfach nichts passiert. So erkläre ich mir die aktuelle Situation, aber zu lösen weiss ich sie nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz