Wie konvertieren Sie den SqlDateTime-Wert in .Net :: DateTime

8

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?

    
Coder 13.04.2011, 13:16
quelle

5 Antworten

4

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

    
Widor 13.04.2011, 13:21
quelle
13

Die Klasse SqlDateTime hat eine Eigenschaft Value , die bereits vom Typ DateTime ist. Warum sollte eine Konvertierung notwendig sein? Verwenden Sie einfach Value direkt.

    
Joel C 13.04.2011 13:35
quelle
4
%Vor%     
Badr 13.04.2011 13:20
quelle
2

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

an

es hat eine Parse-Methode, die Sie nach der Umwandlung in DateTime

in die SqlDateTime-Zeichenfolge parsen können     
Serghei 13.04.2011 13:24
quelle
0

Versuchen Sie es mit SqlDateTime.op_Explicit() [Ref: Ссылка UND Ссылка Auch,

Probieren Sie DateTime orderDate = Convert.ToDateTime(sqlparam.Value.ToString());

aus     
Priyank 13.04.2011 13:24
quelle

Tags und Links