Page 1 of 1

DataType ändern

PostPosted: Tue Jul 03, 2018 3:57 pm
by thrawn24
Hallo zusammen,
ich habe folgendes Problem bei dem ich noch auf einer Lösungssuche bin.
ich habe eine Datenbanktabelle deren sämtliche Spalten als Strings definiert sind.
Die Tabelle zeige ich in einer NavigationTable an.
In einer Spalte weis ich das ich nur Zahlenwerte bekomme diese möchte ich nun mit einem Tausenderpunkt entsprechend Formatieren.
Kann ich Javaseitig den DataType entsprechend abändern.
Also von StringDataType zu BigDecimalDataType?

Die Datenbank kann ich an dieser Stelle nicht ändern.

Re: DataType ändern

PostPosted: Tue Jul 03, 2018 4:58 pm
by rzenz
Die RowDefinition kann man nicht aendern solange das DataBook offen ist, allerdings kann man diese im vorhinein setzen. Wenn eine Spalte vor dem oeffnen des DataBooks definiert wurde, wird diese wiederverwendet. Beispiel:

Code: Select all
RemoteDataBook dataBook = new RemoteDataBook();
dataBook.setDataSource(getDataSource());
dataBook.setName("data");
dataBook.getRowDefinition().addColumnDefinition(new ColumnDefinition("COLUMN_IN_DATABASE", new BigDecimalDataType()));
dataBook.open();

BigDecimal value = (BigDecimal)dataBook.getValue("COLUMN_IN_DATABASE");


Damit kann man durchaus Datentypen von Spalten sehr einfach aendern. Zu beachten ist hierbei allerdings dass es unter Umstaenden zu Problemen kommen kann wenn die Daten in einem anderen Locale vorliegen.

Die Server-Seite verhaelt sich analog dazu, auch in die Storage kann man im vorhinein Spalten hinzufuegen mit einem anderen Datentyp als tatsaechlich in der Datenbank vorhanden.