AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Prism ASP.NET BDP firebird und Internationalisierung
Thema durchsuchen
Ansicht
Themen-Optionen

ASP.NET BDP firebird und Internationalisierung

Ein Thema von Alex2.2 · begonnen am 19. Mai 2006 · letzter Beitrag vom 19. Mai 2006
Antwort Antwort
Alex2.2

Registriert seit: 19. Mai 2006
17 Beiträge
 
#1

ASP.NET BDP firebird und Internationalisierung

  Alt 19. Mai 2006, 17:58
Hallo liebe Forum Mitglieder,
Beim Suchen einer Lösung meines Problems habe ich zwar bereits gemerkt, daß die BDP wohl nicht gerade beliebt ist, aber ich habe mich nunmal leider schon festgelegt.

Und nun zum eigendlichen Problem:
Ich baue eine batenbankbasierte Internetseite, auf ASP.Net Basis, eingebunden ist eine firebird DB und verbunden mit dem BDP über eine Interbase Connection, die mit einem BDPDataSet und einer DataTable verbunden ist. Die Firebird Verbindung ist mit Culture=neutral eingestellt. Dataset und Datatable sind mit Culture.create('') initziert worden. Das Project wird auf Rechner mit US Windows betrieben, auf dem ich jedoch deutsche local settings eingestellt habe. Die Internetseiten sollen jedoch in "beliebigen" gängigen Sprachen erscheinen. Wenn ich auf der Internetseite Culture "en-US" einstelle, habe ich auch keine Probleme. Ich bekomme Temperaturen sogar in Fahrenheit (habe aber selbst programmiert ), und diese Angaben sind auch korrekt. Aber stelle ich Culture "de-DE" bekomme ich keine dezimalen Werte, weil offensichtlich ein Kauderwelsch mit dem Dezimalsepartor passiert. Dieses scheint auch zu geschehen wenn ich local settings im Windows System auf US zurücksetze.

hat da jemand einen Tip für mich?
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: ASP.NET BDP firebird und Internationalisierung

  Alt 19. Mai 2006, 18:45
Das sollte eigentlich nur knallen wenn die Daten aus der DB als String gelesen und von dir in den jeweiligen Typen gewandelt werden.
Du solltest dich in dem Schritt also auf ein Format für Dezimalzahlen und Datums-/Zeitangaben festlegen.
Eine kleine statische Factory, die dir IFormatProvider generiert (einen für Zahlen und einen für Datumswerte) so dass du die Werte aus der DB immer mit dem richtigen Format parsen kannst.
Ob du es nun als Factory oder statische proprties machst ist Jacke wie Hose (Um Michaelaus der SB zu zitieren ). Hauptsache ist, dass jeder String, der nicht innerhalb der aktiven Culture generiert wurde, auf keinen Fall ohne richtigen FormatProvider in einen Wertetyp gewandelt wird.
Alles was innerhalb einer Culture passiert sollte[1] konsistent, ohne dein Zutun kompatibel sein.

Natürlich musst du die Werte auch wieder mit den Formaten deiner DB in Strings wandeln, wenn du sie in der DB als Strings haben willst. Nur so kannst du sicherstellen, dass du sie mit dem Format auch wieder auslesen kannst.


btw: Wenn du lieber ohne diese ganzen String->Wert->String-Friemeleien auskommen könntest, würde sicherlich alles flinker und runder laufen.

Und nun das obligatorische: Warum schreibst du jetzt noch eine ASPX1.1 Anwendung und viel interessanter: Warum benutzt du den BDP für Firebird?
Der Firebird provider (in der jeweiligen stable Version) gehört IMHO zu den besten Daten providern in .Net überhaupt.
Er lässt sogar, allein vom Funktionsumfang, sämtliche IB/FB-Bibliotheken für native Delphi absolut alt aussehen.

[1]"sollte" ist keine Garantie
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Alex2.2

Registriert seit: 19. Mai 2006
17 Beiträge
 
#3

Re: ASP.NET BDP firebird und Internationalisierung

  Alt 19. Mai 2006, 19:36
Na Ich glaube, da bin ich etwas missverstanden worden.
Selbstverständlich werden von mit die typen beachtet. Ein Decimalwert in der Datenbank, wird als Type "Decimal" oder was ich auch versucht habe "Single" abgelegt. Es gibt also keinerlei Stringgejidel. Daher Knallt es auch an keiner Stelle. Das "." - "," Problem besteht aber trotzdem.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz