Megosztás a következőn keresztül:


SQL Server adattípus-leképezések

Az SQL Server és a .NET-keretrendszer különböző típusú rendszereken alapulnak. A .NET-keretrendszer Decimal struktúrának például 28-ra van maximális skálája, míg az SQL Server decimális és numerikus adattípusai maximális 38-ra vannak skálázva. Az adatok olvasása és írása során az adatintegritás fenntartása érdekében az SqlDataReader SQL Server által meghatározott típusú kiegészítő módszereket tesz elérhetővé, amelyek .NET-keretrendszer típusú objektumokat és kiegészítő metódusokat System.Data.SqlTypes ad vissza. Az SQL Server-típusok és a .NET-keretrendszer típusok is enumerálásokkal jelennek meg az osztályokban és SqlDbType az DbType osztályokban, amelyeket adattípusok megadásakor SqlParameter használhat.

Az alábbi táblázat a következő .NET-keretrendszer típust, a DbType számbavételeket és SqlDbType a kiegészítő metódusokat mutatja be a SqlDataReader.

SQL Server adatbázismotor típusa .NET-keretrendszer típusa SqlDbType enumerálás SqlDataReader SqlTypes típusú tartozék DbType enumerálás SqlDataReader DbType típusú tartozék
bigint Int64 BigInt GetSqlInt64 Int64 GetInt64
bináris Bájt[] VarBinary GetSqlBinary Binary GetBytes
bit Logikai Bit GetSqlBoolean Boolean GetBoolean
bejárónő Sztring

Char[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
dátum 1

(SQL Server 2008 és újabb verziók)
Dátum/idő Date1 GetSqlDateTime Date1 GetDateTime
dátum/idő Dátum/idő DateTime GetSqlDateTime DateTime GetDateTime
datetime2

(SQL Server 2008 és újabb verziók)
Dátum/idő DateTime2 Egyik sem DateTime2 GetDateTime
datetimeoffset

(SQL Server 2008 és újabb verziók)
DateTimeOffset DateTimeOffset Nincs DateTimeOffset GetDateTimeOffset
tizedes Decimális Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM attribútum (varbinary(max)) Bájt[] VarBinary GetSqlBytes Binary GetBytes
float Dupla Float GetSqlDouble Double GetDouble
rendszerkép Bájt[] Binary GetSqlBinary Binary GetBytes
egész Int32 Int GetSqlInt32 Int32 GetInt32
pénz Decimális Money GetSqlMoney Decimal GetDecimal
nchar Sztring

Char[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntext Sztring

Char[]
NText GetSqlString String GetString

GetChars
Numerikus Decimális Decimal GetSqlDecimal Decimal GetDecimal
nvarchar Sztring

Char[]
NVarChar GetSqlString String GetString

GetChars
valós szám Egyszeres Real GetSqlSingle Single GetFloat
rowversion Bájt[] Timestamp GetSqlBinary Binary GetBytes
smalldatetime Dátum/idő DateTime GetSqlDateTime DateTime GetDateTime
smallint Int16 SmallInt GetSqlInt16 Int16 GetInt16
smallmoney Decimális SmallMoney GetSqlMoney Decimal GetDecimal
sql_variant 2. objektum Variant GetSqlValue 2 Object GetValue 2
text Sztring

Char[]
Text GetSqlString String GetString

GetChars
time

(SQL Server 2008 és újabb verziók)
időtartam Time Nincs Time GetTimeSpan
időbélyeg Bájt[] Timestamp GetSqlBinary Binary GetBytes
tinyint Bájt TinyInt GetSqlByte Byte GetByte
uniqueidentifier GUID UniqueIdentifier GetSqlGuid Guid GetGuid
varbinary Bájt[] VarBinary GetSqlBinary Binary GetBytes
varchar Sztring

Char[]
VarChar GetSqlString AnsiString, String GetString

GetChars
xml Xml Xml GetSqlXml Xml Nincs

1 Az a SqlParameter tulajdonság nem állítható be DbType a következőreSqlDbType.Date: .
2 Használjon egy adott típusú tartozékot, ha ismeri a mögöttes típust sql_variant.

Az SQL Server dokumentációja

Az SQL Server adattípusairól további információt az Adattípusok (Transact-SQL) című témakörben talál.

Lásd még