![]() |
Exception beim DB-Update (mySql)
Habe folgendes Problem:
Eine lokale MySql DB und eine im Netz online. Jetzt habe ich mir ein kleines Programm geschrieben, welches die DB updaten soll. Dabei 2 Routinen, eine wenn der Datensatz online nicht vorhanden ist und eine wenn er online vorhanden und editiert werden muss. Die Routine einen Datensatz hinzuzufügen (.append) funktioniert einwandfrei jedoch einen Datensatz editieren bringt folgendes Problem: Normale VarChar, bzw. Integer Felder sind kein Problem. Ich benutze aber in der DB ein Feld vom Typ text. Folgende Programmzeile verursacht eine Exception (EDatabase Error Update failed, found 0 records) beim .post: MyOnlineTable.FieldbyName('DetailText').asstring := MyQuery2.FieldbyName('DetailText').AsString; Das Ding funktioniert aber einwandfrei, wenn ich den Datensatz mit .append anhänge nur halt beim .edit nicht :gruebel: |
Re: Exception beim DB-Update (mySql)
Hast Du Primärschlüssel in der Datenbank/Tabelle?
Vermutlich kann das intern erzeugte SQL-Update-Commando nicht vernünftig erzeugt werden. Auch solltest Du angeben, wie Du auf die DB zugreifst (BDE, ADO, dbExpress, native-Komponente). |
Re: Exception beim DB-Update (mySql)
Primärschlüssel sollten nicht das Problem sein. (Hatte das ganze schon mit/ohne PS probiert). Zudem funktioniert das Ganze wenn ich einen neuen Datensatz anhänge, nur beim edit nicht.
Die Datenbanken werden nativ über die "Tools" von CoreLab (MyDAC) angesprochen. |
Re: Exception beim DB-Update (mySql)
Könntest Du mal etwas Code + Tabellenstruktur posten (Minimales Beispiel, wo dieses Problem auftritt).
|
Re: Exception beim DB-Update (mySql)
Also hab das Problem weiter eingekreist...
Wie schon geschrieben benutze ich in meiner MySQL Datenbank ein Feld vom Typ Text. So lange ich eine neue Zeile in der DB anlege (append) ist das kein Problem. Es wird automatisch die Größe meines gesamten Textes erkannt und soviel Platz in der DB dafür freigeschaufelt. Editiere ich jetzt aber etwas an einem bestehenden Feld, so kommt mein Textfeld der MySQL Tabelle durcheinander...ich glaube es liegt daran das das Feld nicht mehr die gleiche Größe hat wie vorher. Irgendwelche Anregungen für mich? |
Re: Exception beim DB-Update (mySql)
Anstatt den Wert zu editieren, könntest du ihn komplett auslesen, speichern, aus der DB löschen und mit Append wieder einfügen. Ist zwar nicht die allerschönste und -schnellste Lösung, aber sie müsste funktionieren. Ein Problem kriegst du evtl. wenn der Primärschlüssel Auto_Increment ist.
Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 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-2025 by Thomas Breitkreuz