Habe folgendes Problem:
Eine Abfrage auf einen MySQL-Server (Version 4.1) funktioniert mit TMySQL41Connection, TSQLConnection und TSQLQuery problemlos solange nur numerische und VarChar-Felder abgefragt werden. Ab dem Moment, wo ich ein MEMO-Feld (als Longtext in der MySQL-Datenbank) mit in das SELECT-Statement nehme, wird dies ignoriert, als ob es dort nicht stünde. Mit FieldByName heisst es immer "Feldname existiert nicht" und mit Fields[5] (z.B. an der Stelle 5), heisst es dann "Index out of bounce".
¿¿¿Wer kann helfen???
Memofelder werden in SELECT Statement ignoriert
-
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Memofelder werden in SELECT Statement ignoriert
Ich kann es mit MySQL 5.x und Lazarus 0.9.23 SVN 11835 mit FPC 2.1.5 nicht nachvollziehen.KOBOLD Messring GmbH hat geschrieben:Ab dem Moment, wo ich ein MEMO-Feld (als Longtext in der MySQL-Datenbank) mit in das SELECT-Statement nehme, wird dies ignoriert, als ob es dort nicht stünde. Mit FieldByName heisst es immer "Feldname existiert nicht" und mit Fields[5] (z.B. an der Stelle 5), heisst es dann "Index out of bounce".
¿¿¿Wer kann helfen???
Das Longtextfeld wird im Grid als Blob gekennzeichnet. Zumindest über die TSQLQuery aus dem sqldb Paket geht es.
Eine Vermutung meinerseits: Der Datentyp ist nocht nicht (richtig) implementiert (Bei älteren Versionen - wie stable). Ich habe bemerkt, das sich da seit der letzten Stable Version (FPC & Lazarus) einiges (zum besseren) geändert hat.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 374
- Registriert: Mi 13. Sep 2006, 15:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hagen a.T.W.
- Kontaktdaten:
medium und longtext ist nocht nicht implementiert. Das funktioniert definitiv noch nicht. Ich habe mir geholfen, indem ich den Datentyp varchar genommen habe. Der ist ab mysql Version 5.01 aufgebohrt von varchar(255) auf varchar(65535). Somit lassen sich auch einige Seiten Text problemlos darstellen. Und die Version 5.x zu installieren, ist ja kein Problem.
ralli
ralli
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
-
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
¡¡ VIELEN DANK !!
¡¡ MUCHISIMAS GRACIAS !!
an alle, mit den ZEOSDBO funktioniert es.
Zu ralli wollte ich noch sagen, dass ich leider nicht auf MySQL 5 updaten kann und ich kann auch nicht die Datenbankstruktur ändern (die ist vom Herrn Direktor des Unternehmens so gesetzt...), ich muss also nehmen was da ist.
Aber mit den zeosdbo geht es AsString wunderbar, einschliesslich den Zeilenumbrüchen, die im LongText in der Datenbank stehen.
Anmerkung zum lazarus-WIKI zeos tutorial/de:
die Bugfixes, die da unter Anmerkungen stehen sind wohl nicht mehr notwendig, lediglich die Änderung auf alle-Dateinamen-klein-geschrieben war notwendig (aber mit krename super einfach).
Nochmals vielen Dank an alle
¡¡ MUCHISIMAS GRACIAS !!
an alle, mit den ZEOSDBO funktioniert es.
Zu ralli wollte ich noch sagen, dass ich leider nicht auf MySQL 5 updaten kann und ich kann auch nicht die Datenbankstruktur ändern (die ist vom Herrn Direktor des Unternehmens so gesetzt...), ich muss also nehmen was da ist.
Aber mit den zeosdbo geht es AsString wunderbar, einschliesslich den Zeilenumbrüchen, die im LongText in der Datenbank stehen.
Anmerkung zum lazarus-WIKI zeos tutorial/de:
die Bugfixes, die da unter Anmerkungen stehen sind wohl nicht mehr notwendig, lediglich die Änderung auf alle-Dateinamen-klein-geschrieben war notwendig (aber mit krename super einfach).
Nochmals vielen Dank an alle