Toewijzingen van SQL Server-gegevenstypen

Van toepassing op: .NET Framework .NET Standard

ADO.NET downloaden

SQL Server en .NET Framework zijn gebaseerd op verschillende typesystemen. De .NET Framework-structuur Decimal heeft bijvoorbeeld een maximale schaal van 28, terwijl de decimale en numerieke SQL Server-gegevenstypen een maximale schaal van 38 hebben. Als u de gegevensintegriteit wilt behouden bij het SqlDataReader lezen en schrijven van gegevens, worden SQL Server-specifieke getypte accessormethoden beschikbaar gesteld die objecten retourneren van System.Data.SqlTypes en toegangsmethoden die .NET Framework-typen retourneren. Zowel SQL Server-typen als .NET Framework-typen worden ook vertegenwoordigd door opsommingen in de DbType en SqlDbType klassen, die u kunt gebruiken bij het opgeven van SqlParameter gegevenstypen.

In de volgende tabel ziet u het afgeleide .NET Framework-type, de enumeraties DbType en SqlDbType, en de toegangsmethoden voor de SqlDataReader.

SQL Server Database Engine-type .NET Framework-type Enumeratie SqlDbType SqlDataReader SqlTypes getypeerde accessor DbType-opsomming SqlDataReader DbType getypte toegangsmethode
Bigint Int64 BigInt GetSqlInt64 Int64 GetInt64
binair Byte[] VarBinary GetSqlBinary Binary GetBytes
bit Booleaan Bit GetSqlBoolean Boolean GetBoolean
karakter Snaar / Touwtje

Karakter[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
datum 1

(SQL Server 2008 en hoger)
DateTime Date 1 GetSqlDateTime Date 1 GetDateTime
datetime DateTime DateTime GetSqlDateTime DateTime GetDateTime
datetime2

(SQL Server 2008 en hoger)
DateTime DateTime2 Geen DateTime2 GetDateTime
datetimeoffset

(SQL Server 2008 en hoger)
DateTimeOffset DateTimeOffset none DateTimeOffset GetDateTimeOffset
decimal Decimal Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM-attribuut (varbinary(max)) Byte[] VarBinary GetSqlBytes Binary GetBytes
zweven Double Float GetSqlDouble Double GetDouble
image Byte[] Binary GetSqlBinary Binary GetBytes
int Int32 Int GetSqlInt32 Int32 GetInt32
geld Decimal Money GetSqlMoney Decimal GetDecimal
nchar Snaar / Touwtje

Karakter[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntekst Snaar / Touwtje

Karakter[]
NText GetSqlString String GetString

GetChars
numeriek Decimal Decimal GetSqlDecimal Decimal GetDecimal
nvarchar Snaar / Touwtje

Karakter[]
NVarChar GetSqlString String GetString

GetChars
echt Single Real GetSqlSingle Single GetFloat
rowversion Byte[] Timestamp GetSqlBinary Binary GetBytes
smalldatetime DateTime DateTime GetSqlDateTime DateTime GetDateTime
smallint Int16 SmallInt GetSqlInt16 Int16 GetInt16
smallmoney Decimal SmallMoney GetSqlMoney Decimal GetDecimal
sql_variant Object 2 Variant GetSqlValue 2 Object GetValue 2
Tekst Snaar / Touwtje

Karakter[]
Text GetSqlString String GetString

GetChars
time

(SQL Server 2008 en hoger)
TimeSpan Time none Time GetDateTime
tijdstempel Byte[] Timestamp GetSqlBinary Binary GetBytes
tinyint Byte TinyInt GetSqlByte Byte GetByte
uniqueidentifier Guid UniqueIdentifier GetSqlGuid Guid GetGuid
varbinary Byte[] VarBinary GetSqlBinary Binary GetBytes
varchar Snaar / Touwtje

Karakter[]
VarChar GetSqlString AnsiString, String GetString

GetChars
xml XML Xml GetSqlXml Xml none
json Snaar / Touwtje Json GetSqlJson none none
vector none Vector GetSqlVector none none

1 U kan de eigenschap van een DbType niet instellen op SqlParameter.
2 Gebruik een specifieke getypte accessor als u het onderliggende type van de sql_variant.

Documentatie voor SQL Server

Zie Gegevenstypen (Transact-SQL) voor meer informatie over SQL Server-gegevenstypen.