Versucht, überall zu suchen und nicht zu gehen.
Der bisherige Ansatz ist DateTime dt = (DateTime)sqlparam.Value;
. Was ich mir vorstellen kann, kann bei verschiedenen Konfigurationen, unterschiedlichen regionalen SQL-Einstellungen, verschiedenen regionalen PC-Einstellungen und so weiter schiefgehen. Aber dann wieder Parsing Wert aus SQL Datetime String ist noch verrückte Idee.
Gibt es eine funktionierende Lösung dafür, es ist .NET, sollte es einen geben, oder?
Ich sehe nicht, was mit dem expliziten Casting falsch ist, so würde ich es machen.
Wenn Ihre Probleme durch "verschiedene Konfigurationen, unterschiedliche regionale SQL-Einstellungen, verschiedene regionale PC-Einstellungen" verursacht werden, hilft das Verwenden einer anderen Konvertierungsmethode nicht.
Sie können sich diesen neuen Datentyp jedoch in SQL Server 2008 ansehen: DateTimeOffset
Wirf es einfach auf DateTime. Wenn es Nullable ist, kann es auf Nullable umgesetzt werden, was auch als "DateTime?" Geschrieben werden kann.
%Vor%Sehen Sie sich die SqlDateTime-Klasse
anes hat eine Parse-Methode, die Sie nach der Umwandlung in DateTime
in die SqlDateTime-Zeichenfolge parsen können