SQL-Server und unterschiedliche Datumsformate

05/11/2007 - 12:18 von Tom | Report spam
Hallo,

ich habe mal eine Frage zu VB.Net 2005 mit Datum und Datenbanken.
Bei uns ist dummerweise der Entwicklungsserver mit einer SQL-Server
2005 DB in deutsch aufgesetzt. Da wir aber ein internationales
Unternehmen sind, ist der Produktionsserver mit SQL-Server 2005 in
englisch aufgesetzt.
Ausserdem arbeiten wir noch mit Oracle 10g und Access. Für Oracle
haben wir glücklicherweise immer eine englische Installation aber auch
bei Access variert es je nach Einstellung der lokalen Settings auf dem
Server.


Auch die User die mit den Programmen arbeiten haben, je nachdem wo sie
sich aufhalten, die lokalen Settings auf Englisch oder deutsch.
Gibt es einen sinnvollen Weg hier mit Datumen zu arbeiten? Bei der
Serverversion habe ich mir nicht anders zu helfen gewusst, als das
Programm nachher umzuschreiben auf englisches Zeitformat. dh.
Deutscher User erhàlt in der Maske das deutsche Zahlenformat (in einer
Textbox) und es wird für den DB-Zugriff auf englisches Format
umgewandelt (für die englische DB-Installtion). Um mir die DB-Zugriffe
zu erleichern arbeite ich hauptsàchlich mit DBFactory
(System.Data.Common.DbProviderFactories.GetFactory(_ProviderString))


txtDate.Text = Format(Today, "dd.MM.yyyy")
dim UserDate as Date = Format(CDate(txtDate.Text), "dd/MM/
yyyy")

Gibt es eine sinnvolle Lösung diese Klippe der unterschiedlichen
Datumsformate zu umschiffen?

Gruß

Tom
 

Lesen sie die antworten

#1 Armin Zingler
05/11/2007 - 12:53 | Warnen spam
"Tom" schrieb
Hallo,

ich habe mal eine Frage zu VB.Net 2005 mit Datum und Datenbanken.
Bei uns ist dummerweise der Entwicklungsserver mit einer SQL-Server
2005 DB in deutsch aufgesetzt. Da wir aber ein internationales
Unternehmen sind, ist der Produktionsserver mit SQL-Server 2005 in
englisch aufgesetzt.
Ausserdem arbeiten wir noch mit Oracle 10g und Access. Für Oracle
haben wir glücklicherweise immer eine englische Installation aber
auch bei Access variert es je nach Einstellung der lokalen Settings
auf dem Server.


Auch die User die mit den Programmen arbeiten haben, je nachdem wo
sie sich aufhalten, die lokalen Settings auf Englisch oder deutsch.
Gibt es einen sinnvollen Weg hier mit Datumen zu arbeiten? Bei der
Serverversion habe ich mir nicht anders zu helfen gewusst, als das
Programm nachher umzuschreiben auf englisches Zeitformat. dh.
Deutscher User erhàlt in der Maske das deutsche Zahlenformat (in
einer Textbox) und es wird für den DB-Zugriff auf englisches Format
umgewandelt (für die englische DB-Installtion). Um mir die
DB-Zugriffe zu erleichern arbeite ich hauptsàchlich mit DBFactory
(System.Data.Common.DbProviderFactories.GetFactory(_ProviderString))


txtDate.Text = Format(Today, "dd.MM.yyyy")
dim UserDate as Date = Format(CDate(txtDate.Text),
"dd/MM/ yyyy")

Gibt es eine sinnvolle Lösung diese Klippe der unterschiedlichen
Datumsformate zu umschiffen?



Bei was konkret?

Bzgl SQLs: Siehe meine Antwort im anderen Thread (Parameters-Eigenschaft des
SQLCommand-/OleDbCommand-Objekts verwenden).

Bzgl Eingabe: Mit Date.Parse wird standardmàßig das Format erwartet, das auf
der Maschine eingestellt ist, also so, wie es der Benutzer haben will. In
die andere Richtung, also von Date nach String wird standardmàßig, also wenn
nicht anders angegeben, ebenso diese Formatierung verwendet.

Ein Problem kann ich daher nicht erkennen.


Armin

Ähnliche fragen