Lazarus 1.6
Hallo allerseits,
ich habe ein SQLQuery mit ODBC Connection auf alte Foxpro Daten. Das Resultat des Querys ergibt für alle Felder immer den Feldinhalt ergänzt um Leerzeichen in der Anzahl der verbleibenden maximalen Feldlänge.
Zum Beispiel habe ich eine Foxpro Tabelle mit Feld_A vom Typ CHAR(50) mit dem Wert 'Test' für einen Datensatz. Das Query auf diesen Datensatz ergibt das Resultat "Test...(nachfolgend 46 Leerzeichen)" und nicht nur "Test".
Warum ist das so?
Wie kann ich das umstellen, dass nur der getrimte Wert angezeigt wird?
Gruß,
Peter
SQLQuery zeigt Resultate immer in max. Feldlänge an
-
- Lazarusforum e. V.
- Beiträge: 240
- Registriert: Di 5. Feb 2008, 15:32
- OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
Re: SQLQuery zeigt Resultate immer in max. Feldlänge an
gibt es kein trim, ltrim, rtrim o.ä.?
also dann select trim(feldname) from tabellenname
also dann select trim(feldname) from tabellenname
Re: SQLQuery zeigt Resultate immer in max. Feldlänge an
Nein, das hilft nicht, da die Ergebnisse in der Foxpro Tabelle auch nicht mit Leerzeichen gespeichert werden. Ich habe es zur Sicherheit aber auch getestet und es werden trotzdem die Leerzeichen ausgegeben.
-
- Beiträge: 19
- Registriert: So 15. Okt 2006, 14:52
- OS, Lazarus, FPC: Lazarus 2.2.0, FPC 3.2.2
- Wohnort: Meckenburg-Vorpommern
Re: SQLQuery zeigt Resultate immer in max. Feldlänge an
Hallo.
Ich bin mir bzgl. FoxPro zwar nicht sicher ...
Normalerweise heisst CHAR(50), dass _genau_ 50 Zeichen gespeichert werden.
Mit VARCHAR(50) würdest du sagen, dass du _maximal_ 50 Zeichen gespeichert werden.
Nach meine Erfahrung geht das mit VARCHAR immer besser, aber ob FoxPro das kennt weiss ich nicht.
FG
Stephan
Ich bin mir bzgl. FoxPro zwar nicht sicher ...
Normalerweise heisst CHAR(50), dass _genau_ 50 Zeichen gespeichert werden.
Mit VARCHAR(50) würdest du sagen, dass du _maximal_ 50 Zeichen gespeichert werden.
Nach meine Erfahrung geht das mit VARCHAR immer besser, aber ob FoxPro das kennt weiss ich nicht.
FG
Stephan
Re: SQLQuery zeigt Resultate immer in max. Feldlänge an
Der Unterschied zwischen CHAR und VARCHAR war mir so nicht klar. Die Daten liegen in einer älteren Version von FoxPro vor, in der VARCHAR noch nicht bekannt ist. Erst ab FoxPro v9 ist dieser Daten Typ eingeführt worden. Leider wird auch erst ab v9 die CAST() Funktion eingeführt, um eine Umwandlung des Daten Typs im Query zu ermöglichen.
Dann sieht es so aus, dass ich damit leben muss.
Dann sieht es so aus, dass ich damit leben muss.
