Delen via


Toewijzingen van SQL Server-gegevenstypen

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 uitgestelde .NET Framework-type, de DbType enumeraties SqlDbType en de toegangsmethoden voor de SqlDataReader.

Type SQL Server-database-engine .NET Framework-type Opsomming SqlDbType SqlDataReader SqlTypes getypte accessor DbType-opsomming SqlDataReader DbType getypte accessor
bigint Int64 BigInt GetSqlInt64 Int64 GetInt64
binair Byte[] VarBinary GetSqlBinary Binary GetBytes
bit Booleaanse waarde Bit GetSqlBoolean Boolean GetBoolean
char String

Teken[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
datum 1

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

(SQL Server 2008 en hoger)
Datum en tijd DateTime2 Geen DateTime2 GetDateTime
datetimeoffset

(SQL Server 2008 en hoger)
DateTimeOffset DateTimeOffset Geen DateTimeOffset GetDateTimeOffset
decimal Decimal Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM-kenmerk (varbinary(max)) Byte[] VarBinary GetSqlBytes Binary GetBytes
zwevend Dubbel Float GetSqlDouble Double GetDouble
image Byte[] Binary GetSqlBinary Binary GetBytes
int Int32 Int GetSqlInt32 Int32 GetInt32
money Decimal Money GetSqlMoney Decimal GetDecimal
nchar String

Teken[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntekst String

Teken[]
NText GetSqlString String GetString

GetChars
numeriek Decimal Decimal GetSqlDecimal Decimal GetDecimal
nvarchar String

Teken[]
NVarChar GetSqlString String GetString

GetChars
werkelijk Eén Real GetSqlSingle Single GetFloat
rowversion Byte[] Timestamp GetSqlBinary Binary GetBytes
smalldatetime Datum en tijd 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
sms verzenden String

Teken[]
Text GetSqlString String GetString

GetChars
tijd

(SQL Server 2008 en hoger)
TimeSpan Time Geen Time GetTimeSpan
timestamp Byte[] Timestamp GetSqlBinary Binary GetBytes
tinyint Byte TinyInt GetSqlByte Byte GetByte
uniqueidentifier Guid UniqueIdentifier GetSqlGuid Guid GetGuid
varbinary Byte[] VarBinary GetSqlBinary Binary GetBytes
varchar String

Teken[]
VarChar GetSqlString AnsiString, String GetString

GetChars
xml Xml Xml GetSqlXml Xml Geen

1 U kunt de DbType eigenschap van een SqlParameter op SqlDbType.Date.
2 Gebruik een specifieke getypte accessor als u het onderliggende type van de sql_variant.

Documentatie over SQL Server

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

Zie ook