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 推斷 OdbcType。 |
Number |
注意 |
---|
隨 .NET Framework 1.0 版提供的 .NET Framework 數據提供程序不驗證 Decimal 參數值的精度和小數位數是否有效,這可能會致使截斷的數據被插入數據源。若是您使用的是 .NET Framework 1.0 版,請在設置該參數值以前,驗證 Decimal 值的精度和小數位數是否有效。在 .NET Framework 1.1 版及更高版本中,當用無效的精度設置 Decimal 參數值時會引起異常。但仍將截斷超出 Decimal 參數小數位數的小數位數值。 |
注意 |
---|
對於 .NET Framework 1.0 以及更高版本,能夠對 System.Data.SqlClient 使用 System.Data.SqlTypes。有關更多信息,請參見使用 SqlTypes。 |