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 DbType az SqlDbType 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
egy kicsit Logikai Bit GetSqlBoolean Boolean GetBoolean
bejárónő Sztring

Karakter[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
dátum 1

(SQL Server 2008 és újabb verziók)
Dátum/idő Date 1 GetSqlDateTime Date 1 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
dátum-idő eltolás

(SQL Server 2008 és újabb verziók)
IdőpontEltérés (DateTimeOffset) DateTimeOffset Nincs DateTimeOffset GetDateTimeOffset
tizedes Decimális Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM attribútum (varbinary(max)) Bájt[] VarBinary GetSqlBytes Binary GetBytes
úsztat Kétszeres 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

Karakter[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntext Sztring

Karakter[]
NText GetSqlString String GetString

GetChars
Numerikus Decimális Decimal GetSqlDecimal Decimal GetDecimal
nvarchar Sztring

Karakter[]
NVarChar GetSqlString String GetString

GetChars
valós szám Egyszeres Real GetSqlSingle Single GetFloat
sorszámverzió Bájt[] Timestamp GetSqlBinary Binary GetBytes
smalldatetime Dátum/idő DateTime GetSqlDateTime DateTime GetDateTime
smallint Int16 SmallInt GetSqlInt16 Int16 GetInt16
aprópénz Decimális SmallMoney GetSqlMoney Decimal GetDecimal
sql_variant (SQL adatbázis típus) 2. objektum Variant GetSqlValue 2 Object GetValue 2
szöveg Sztring

Karakter[]
Text GetSqlString String GetString

GetChars
Idő

(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
egyedi azonosító GUID UniqueIdentifier GetSqlGuid Guid GetGuid
varbinary Bájt[] VarBinary GetSqlBinary Binary GetBytes
varchar Sztring

Karakter[]
VarChar GetSqlString AnsiString, String GetString

GetChars
XML Xml Xml GetSqlXml Xml Nincs

1 Az a DbType tulajdonság nem állítható be SqlParameter 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