Entwickler-Ecke
Datenbanken - Strings abschneiden bei CHAR-Feldern in Interbase?
Tower - Di 25.02.03 12:36
Titel: Strings abschneiden bei CHAR-Feldern in Interbase?
Hallo!
Ich muss eine Interbase-Datenbank weiterführen, in der viele Felder vom Typ CHAR[80] stehen.
Bisher wurde die DB immer über BDE-Komponenten eingebunden, und das Bearbeiten dieser Felder mit zB DBComboBoxen war kein Problem.
Jetzt habe ich die BDE-Komponenten gegen Delphi-Interbase-Komponenten ausgetauscht, und habe jetzt das Problem, dass Strings, die kürzer sind als 80 Zeichen (was die allermeisten sind) mit Leerzeichen aufgefüllt werden!
Kennt jemand das Problem und weiß, was man dagegen tun kann?
Danke!
olliterski - Di 25.02.03 19:55
Hi,
unter jeder anderen Datenbank hätte ich gesagt, schau nach ob Du eine Option zum Füllen mit Leerzeichen hast und schalte sie aus!
Danach könntest Du mit einem 'trim' die aufgefüllten Leerzeichen entfernen.
Aber unter Interbase bin ich da etwas ratlos! (Deswegen kaufe ich mir aber kein Fahrrad!) :lol:
Jetzt mal ganz ernst! Du kannst doch per Select rausfinden wie lang der Längste String ist - aufrunden und Column auf die neue Größe ändern.
Ich schau aber nochmal nach ob ich was besseres als Lösung finde.
Sollte auch nur ein Hint sein, wie man da wenigstens etwas machen kann!
viele Grüße
Oliver
LCS - Mi 26.02.03 08:53
Hi
das Einzige was du dagegen tun kannst ist das Ändern des Datentyps von CHAR(80) auf VARCHAR(80). Das ist nämlich genau der Unterschied zwischen diesen Datentypen. Char wird bei IB immer auf die volle Länge aufgefüllt, Varchar nicht.
Gruss Lothar
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!