各類數據類型對比

Parameter 的類型是 .NET Framework 數據提供程序特定的。若是指定類型,則在向數據源傳遞 Parameter 的值以前,將該值轉換爲 .NET Framework 數據提供程序類型。也能夠經過通用的方式指定 Parameter 的類型,方法是將 Parameter 對象的 DbType 屬性設置爲特定的 DbType。 html

Parameter 對象的 .NET Framework 數據提供程序類型將從 Parameter 對象的 Value 的 .NET Framework 類型來推斷,或從 Parameter 對象的 DbType 來推斷。下表顯示了根據做爲 Parameter 值傳遞的對象或指定的 DbType 推斷出的 Parameter 類型。數組

.NET Framework 類型 System.Data.DbType SqlDbType OleDbType OdbcType OracleType

boolui

Booleanspa

Bithtm

Boolean對象

Bitblog

Byteci

bytev8

Byte字符串

TinyInt

UnsignedTinyInt

TinyInt

Byte

byte[]

Binary

VarBinary. 若是字節數組大於 VarBinary 的最大大小(8000 字節),此隱式轉換將失敗。對於大於 8000 字節的字節數組,請顯式設置 SqlDbType。

VarBinary

Binary

Raw

char

 

不支持從 char 推斷 SqlDbType。

Char

Char

Byte

DateTime

DateTime

DateTime

DBTimeStamp

DateTime

DateTime

Decimal

Decimal

Decimal

Decimal

Numeric

Number

double

Double

Float

Double

Double

Double

float

Single

Real

Single

Real

Float

Guid

Guid

UniqueIdentifier

Guid

UniqueIdentifier

Raw

Int16

Int16

SmallInt

SmallInt

SmallInt

Int16

Int32

Int32

Int

Int

Int

Int32

Int64

Int64

BitInt

BigInt

BigInt

Number

object

Object

Variant

Variant

不支持從 Object 推斷 OdbcType。

Blob

string

String

NVarChar。若是字符串大於 NVarChar 的最大大小(4000 個字符),此隱式轉換將失敗。對於大於 4000 個字符的字符串,請顯式設置 SqlDbType。

VarWChar

NVarChar

NVarChar

TimeSpan

Time

不支持從 TimeSpan 推斷 SqlDbType。

DBTime

Time

DateTime

UInt16

UInt16

不支持從 UInt16 推斷 SqlDbType。

UnsignedSmallInt

Int

UInt16

UInt32

UInt32

不支持從 UInt32 推斷 SqlDbType。

UnsignedInt

BigInt

UInt32

UInt64

UInt64

不支持從 UInt64 推斷 SqlDbType。

UnsignedBigInt

Numeric

Number

 

AnsiString

VarChar

VarChar

VarChar

VarChar

 

AnsiStringFixedLength

Char

Char

Char

Char

 

Currency

Money

Currency

不支持從 Currency 推斷 OdbcType。

Number

 

Date

不支持從 Date 推斷 SqlType。

DBDate

Date

DateTime

 

SByte

不支持從 SByte 推斷 SqlType。

TinyInt

不支持從 SByte 推斷 OdbcType。

SByte

 

StringFixedLength

NChar

WChar

NChar

NChar

 

Time

不支持從 Time 推斷 SqlType。

DBTime

Time

DateTime

 

VarNumeric 推斷 SqlDbType。

VarNumeric 推斷 OdbcType。

Number

Note注意

隨 .NET Framework 1.0 版提供的 .NET Framework 數據提供程序不驗證 Decimal 參數值的精度和小數位數是否有效,這可能會致使截斷的數據被插入數據源。若是您使用的是 .NET Framework 1.0 版,請在設置該參數值以前,驗證 Decimal 值的精度和小數位數是否有效。在 .NET Framework 1.1 版及更高版本中,當用無效的精度設置 Decimal 參數值時會引起異常。但仍將截斷超出 Decimal 參數小數位數的小數位數值。

Note注意

對於 .NET Framework 1.0 以及更高版本,能夠對 System.Data.SqlClient 使用 System.Data.SqlTypes。有關更多信息,請參見使用 SqlTypes

相關文章
相關標籤/搜索