Autor Beitrag
Tower
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99



BeitragVerfasst: Di 25.02.03 12:36 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 105
Erhaltene Danke: 2

Win7 64-Bit
D7 Ent.
BeitragVerfasst: 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

_________________
Viele Grüße
Oliver
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...