Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SQL Server und .NET Framework basieren auf unterschiedlichen Typsystemen. Die Decimal-Struktur von .NET Framework hat eine maximale Skalierung von 28, die dezimalen und numerischen Datentypen von SQL Server haben hingegen eine maximale Skalierung von 38. Um die Integrität beim Lesen und Schreiben von Daten zu gewährleisten, stellt SqlDataReader Zugriffsmethoden für SQL Server-spezifische Typen zur Verfügung, die Objekte als System.Data.SqlTypes zurückgeben. Zusätzlich werden Zugriffsmethoden zum Zurückgeben von .NET Framework-Typen zur Verfügung gestellt. Sowohl die SQL Server- als auch die .NET Framework-Typen werden weiterhin als Enumerationen in der DbType-Klasse und SqlDbTypeKlasse dargestellt, die zum Angeben von SqlParameter-Datentypen verwendet werden können.
Die folgende Tabelle enthält den abgeleiteten .NET Framework-Typ, die Enumerationen DbType und SqlDbType sowie die Accessormethoden für SqlDataReader.
Typ „SQL Server-Datenbank-Engine“ | .NET Framework-Typ | SqlDbType-Enumeration | SqlDataReader-Accessor vom Typ SqlTypes | DbType-Enumeration | SqlDataReader-Accessor vom DbType-Typ |
---|---|---|---|---|---|
BIGINT | Int64 | BigInt | GetSqlInt64 | Int64 | GetInt64 |
BINARY | Byte[] | VarBinary | GetSqlBinary | Binary | GetBytes |
Bit | Boolescher Typ (Boolean) | Bit | GetSqlBoolean | Boolean | GetBoolean |
verkohlen | Schnur Zeichen[] |
Char | GetSqlString |
AnsiStringFixedLength, String |
GetString GetChars |
Datum 1 (SQL Server 2008 und höher) |
Datum/Uhrzeit | Date 1 | GetSqlDateTime | Date 1 | GetDateTime |
Datum/Uhrzeit | Datum/Uhrzeit | DateTime | GetSqlDateTime | DateTime | GetDateTime |
datetime2 (SQL Server 2008 und höher) |
Datum/Uhrzeit | DateTime2 | Keine | DateTime2 | GetDateTime |
Datum-Uhrzeit-Offset (SQL Server 2008 und höher) |
DateTimeOffset (Datum/Uhrzeit mit Offset) | DateTimeOffset | nichts | DateTimeOffset | GetDateTimeOffset |
Decimal | Dezimalzahl | Decimal | GetSqlDecimal | Decimal | GetDecimal |
FILESTREAM-Attribut (varbinary(max)) | Byte[] | VarBinary | GetSqlBytes | Binary | GetBytes |
Schweben | Doppelt | Float | GetSqlDouble | Double | GetDouble |
Bild | Byte[] | Binary | GetSqlBinary | Binary | GetBytes |
INT | Int32 | Int | GetSqlInt32 | Int32 | GetInt32 |
Geld | Dezimalzahl | Money | GetSqlMoney | Decimal | GetDecimal |
NCHAR | Schnur Zeichen[] |
NChar | GetSqlString | StringFixedLength | GetString GetChars |
ntext | Schnur Zeichen[] |
NText | GetSqlString | String | GetString GetChars |
NUMERIC | Dezimalzahl | Decimal | GetSqlDecimal | Decimal | GetDecimal |
NVARCHAR | Schnur Zeichen[] |
NVarChar | GetSqlString | String | GetString GetChars |
Echt | Ledig | Real | GetSqlSingle | Single | GetFloat |
Zeilenversion | Byte[] | Timestamp | GetSqlBinary | Binary | GetBytes |
smalldatetime | Datum/Uhrzeit | DateTime | GetSqlDateTime | DateTime | GetDateTime |
SMALLINT | Int16 | SmallInt | GetSqlInt16 | Int16 | GetInt16 |
SMALLMONEY | Dezimalzahl | SmallMoney | GetSqlMoney | Decimal | GetDecimal |
SQL-Variant | Objekt 2 | Variant | GetSqlValue 2 | Object | GetValue 2 |
Text | Schnur Zeichen[] |
Text | GetSqlString | String | GetString GetChars |
Zeit (SQL Server 2008 und höher) |
TimeSpan | Time | nichts | Time | GetTimeSpan |
Zeitstempel | Byte[] | Timestamp | GetSqlBinary | Binary | GetBytes |
TINYINT | Byte | TinyInt | GetSqlByte | Byte | GetByte |
UNIQUEIDENTIFIER | Leitfaden | UniqueIdentifier | GetSqlGuid | Guid | GetGuid |
varbinary | Byte[] | VarBinary | GetSqlBinary | Binary | GetBytes |
varchar | Schnur Zeichen[] |
VarChar | GetSqlString | AnsiString, String | GetString GetChars |
Xml | XML | Xml | GetSqlXml | Xml | nichts |
1 Sie können die DbType
-Eigenschaft von SqlParameter
nicht auf SqlDbType.Date
festlegen.
2 Verwenden Sie eine spezifische typisierte Accessormethode, wenn Sie den zugrunde liegenden Typ von sql_variant
kennen.
SQL Server-Dokumentation
Weitere Informationen zu SQL Server-Datentypen finden Sie unter Datentypen (Transact-SQL).