DbType,OleDbType,SqlDbType差別
_
_
DbType | 說明 | OleDbType | 說明 | SqlDbType | 說明 |
Boolean | 簡單類型,表示 true 或 false 的布爾值。 | Boolean | 布爾值 (DBTYPE_BOOL)。它映射到 Boolean。 | Bit | Boolean。無符号數值,可以是 0、1 或 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing)。 |
SByte | 整型,表示值介于 -128 到 127 之間的有符号 8 位整數。 | TinyInt | 8 位帶符号的整數 (DBTYPE_I1)。它映射到 SByte。 | ||
Byte | 一個 8 位無符号整數,範圍在 0 到 255 之間。 | UnsignedTinyInt | 8 位無符号整數 (DBTYPE_UI1)。它映射到 Byte。 | TinyInt | Byte。8 位的無符号整數。 |
Int16 | 整型,表示值介于 -32768 到 32767 之間的有符号 16 位整數。 | SmallInt | 16 位帶符号的整數 (DBTYPE_I2)。它映射到 Int16。 | SmallInt | Int16。16 位的有符号整數。 |
Int32 | 整型,表示值介于 -2147483648 到 2147483647 之間的有符号 32 位整數。 | Integer | 32 位帶符号的整數 (DBTYPE_I4)。它映射到 Int32。 | Int | Int32。32 位的有符号整數。 |
Int64 | 整型,表示值介于 -9223372036854775808 到 9223372036854775807 之間的有符号 64 位整數。 | BigInt | 64 位帶符号的整數 (DBTYPE_I8)。它映射到 Int64。 | BigInt | Int64。64 位的有符号整數。 |
UInt16 | 整型,表示值介于 0 到 65535 之間的無符号 16 位整數。 | UnsignedSmallInt | 16 位無符号整數 (DBTYPE_UI2)。它映射到 UInt16。 | ||
UInt32 | 整型,表示值介于 0 到 4294967295 之間的無符号 32 位整數。 | UnsignedInt | 32 位無符号整數 (DBTYPE_UI4)。它映射到 UInt32。 | ||
UInt64 | 整型,表示值介于 0 到 18446744073709551615 之間的無符号 64 位整數。 | UnsignedBigInt | 64 位無符号整數 (DBTYPE_UI8)。它映射到 UInt64。 | ||
Single | 浮點型,表示從大約 1.5 x 10 -45 到 3.4 x 10 38 且精度為 7 位的值。 | Single | 浮點數字,範圍在 -3.40E +38 到 3.40E +38 之間 (DBTYPE_R4)。它映射到 Single。 | Real | Single。-3.40E +38 到 3.40E +38 範圍内的浮點數。 |
Currency | 貨币值,範圍在 -2 63(即 -922,337,203,685,477.5808)到 2 63 -1(即 +922,337,203,685,477.5807)之間,精度為千分之十個貨币機關。 | Currency | 一個貨币值,範圍在 -2 63(或 -922,337,203,685,477.5808)到 2 63 -1(或 +922,337,203,685,477.5807)之間,精度為千分之十個貨币機關 (DBTYPE_CY)。它映射到 Decimal。 | Money | Decimal。貨币值,範圍在 -2 63(即 -9,223,372,036,854,775,808)到 2 63 -1(即 +9,223,372,036,854,775,807)之間,精度為千分之十個貨币機關。 |
SmallMoney | Decimal。貨币值,範圍在 -214,748.3648 到 +214,748.3647 之間,精度為千分之十個貨币機關。 | ||||
Decimal | 簡單類型,表示從 1.0 x 10 -28 到大約 7.9 x 10 28 且有效位數為 28 到 29 位的值。 | Decimal | 定點精度和小數位數數值,範圍在 -10 38 -1 和 10 38 -1 之間 (DBTYPE_DECIMAL)。它映射到 Decimal。 | Decimal | Decimal。固定精度和小數位數數值,在 -10 38 -1 和 10 38 -1 之間。 |
Double | 浮點型,表示從大約 5.0 x 10 -324 到 1.7 x 10 308 且精度為 15 到 16 位的值。 | Double | 浮點數字,範圍在 -1.79E +308 到 1.79E +308 之間 (DBTYPE_R8)。它映射到 Double。 | Float | Double。-1.79E +308 到 1.79E +308 範圍内的浮點數。 |
Numeric | 具有定點精度和小數位數的精确數值 (DBTYPE_NUMERIC)。它映射到 Decimal。 | ||||
VarNumeric | 變長數值。 | VarNumeric | 變長數值(隻限 OleDbParameter)。它映射到 Decimal。 | ||
Guid | 全局唯一辨別符(或 GUID)。 | Guid | 全局唯一辨別符(或 GUID) (DBTYPE_GUID)。它映射到 Guid。 | UniqueIdentifier | Guid。全局唯一辨別符(或 GUID)。 |
Binary | 二進制資料的可變長度流,範圍在 1 到 8,000 個位元組之間。 | Binary | 二進制資料流 (DBTYPE_BYTES)。它映射到 Byte 類型的 Array。 | Binary | Byte 類型的 Array。二進制資料的固定長度流,範圍在 1 到 8,000 個位元組之間。 |
VarBinary | 二進制資料的變長流(隻限 OleDbParameter)。它映射到 Byte 類型的 Array。 | VarBinary | Byte 類型的 Array。二進制資料的可變長度流,範圍在 1 到 8,000 個位元組之間。如果位元組數組大于 8,000 個位元組,隐式轉換會失敗。在使用比 8,000 個位元組大的位元組數組時,請顯式設定對象。 | ||
LongVarBinary | 長的二進制值(隻限 OleDbParameter)。它映射到 Byte 類型的 Array。 | ||||
Image | Byte 類型的 Array。二進制資料的可變長度流,範圍在 0 到 2 31 -1(即 2,147,483,647)位元組之間。 | ||||
AnsiStringFixedLength | 非 Unicode 字元的固定長度流。 | Char | 字元串 (DBTYPE_STR)。它映射到 String。 | Char | String。非 Unicode 字元的固定長度流,範圍在 1 到 8,000 個字元之間。 |
AnsiString | 非 Unicode 字元的可變長度流,範圍在 1 到 8,000 個字元之間。 | VarChar | 非 Unicode 字元的變長流(隻限 OleDbParameter)。它映射到 String。 | VarChar | String。非 Unicode 字元的可變長度流,範圍在 1 到 8,000 個字元之間。 |
StringFixedLength | Unicode 字元的定長串。 | LongVarChar | 長的字元串值(隻限 OleDbParameter)。它映射到 String。 | NChar | String。Unicode 字元的固定長度流,範圍在 1 到 4,000 個字元之間。 |
String | 表示 Unicode 字元串的類型。 | LongVarWChar | 長的以 null 終止的 Unicode 字元串值(隻限 OleDbParameter)。它映射到 String。 | NVarChar | String。Unicode 字元的可變長度流,範圍在 1 到 4,000 個字元之間。如果字元串大于 4,000 個字元,隐式轉換會失敗。在使用比 4,000 個字元更長的字元串時,請顯式設定對象。 |
VarWChar | 長可變、以 null 終止的 Unicode 字元流(隻限 OleDbParameter)。它映射到 String。 | Text | String。非 Unicode 資料的可變長度流,最大長度為 2 31 -1(即 2,147,483,647)個字元。 | ||
WChar | 以 null 終止的 Unicode 字元流 (DBTYPE_WSTR)。它映射到 String。 | NText | String。Unicode 資料的可變長度流,最大長度為 2 30 - 1(即 1,073,741,823)個字元。 | ||
BSTR | 以 null 終止的 Unicode 字元串 (DBTYPE_BSTR)。它映射到 String。 | ||||
DateTime | 表示一個日期和時間值的類型。 | Date | 日期資料,存儲為雙精度型 (DBTYPE_DATE)。整數部分是自 1899 年 12 月 30 日以來的天數,而小數部分是不足一天的部分。它映射到 DateTime。 | DateTime | DateTime。日期和時間資料,值範圍從 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度為 3.33 毫秒。 |
DateTime2 | 日期和時間資料。日期值範圍從公元 1 年 1 月 1 日到公元 9999 年 12 月 31 日。時間值範圍從 00:00:00 到 23:59:59.9999999,精度為 100 毫微秒。 | DBDate | 格式為 yyyymmdd 的日期資料 (DBTYPE_DBDATE)。它映射到 DateTime。 | DateTime2 | 日期和時間資料。日期值範圍從公元 1 年 1 月 1 日到公元 9999 年 12 月 31 日。時間值範圍從 00:00:00 到 23:59:59.9999999,精度為 100 毫微秒。 |
DBTimeStamp | 格式為 yyyymmddhhmmss 的日期和時間資料 (DBTYPE_DBTIMESTAMP)。它映射到 DateTime。 | ||||
Filetime | 64 位無符号整數,表示自 1601 年 1 月 1 日以來 100 個納秒間隔的數字 (DBTYPE_FILETIME)。它映射到 DateTime。 | ||||
SmallDateTime | DateTime。日期和時間資料,值範圍從 1900 年 1 月 1 日到 2079 年 6 月 6 日,精度為 1 分鐘。 | ||||
DateTimeOffset | 顯示時區的日期和時間資料。日期值範圍從公元 1 年 1 月 1 日到公元 9999 年 12 月 31 日。時間值範圍從 00:00:00 到 23:59:59.9999999,精度為 100 毫微秒。時區值範圍從 -14:00 到 +14:00。 | DateTimeOffset | 顯示時區的日期和時間資料。日期值範圍從公元 1 年 1 月 1 日到公元 9999 年 12 月 31 日。時間值範圍從 00:00:00 到 23:59:59.9999999,精度為 100 毫微秒。時區值範圍從 -14:00 到 +14:00。 | ||
DBTime | 格式為 hhmmss 的時間資料 (DBTYPE_DBTIME)。它映射到 TimeSpan。 | Timestamp | Byte 類型的 Array。自動生成的二進制數,并保證其在資料庫中唯一。timestamp 通常用作對表中各行的版本進行标記的機制。存儲大小為 8 位元組。 | ||
Date | 表示日期值的類型。 | Date | 日期資料,值範圍從公元 1 年 1 月 1 日到公元 9999 年 12 月 31 日。 | ||
Time | 表示時間值的類型。 | Time | 基于 24 小時制的時間資料。時間值範圍從 00:00:00 到 23:59:59.9999999,精度為 100 毫微秒。 | ||
Object | 正常類型,表示任何沒有由其他 DbType 值顯式表示的引用或值類型。 | Variant | 可包含數字、字元串、二進制或日期資料以及特殊值 Empty 和 Null 的特殊資料類型 (DBTYPE_VARIANT)。如果未指定任何其他類型,則假定為該類型。它映射到 Object。 | Variant | Object。特殊資料類型,可以包含數值、字元串、二進制或日期資料,以及 SQL Server 值 Empty 和 Null,後兩個值在未聲明其他類型的情況下采用。 |
PropVariant | 自動化 PROPVARIANT (DBTYPE_PROP_VARIANT)。它映射到 Object。 | ||||
Xml | XML 文檔或片段的分析表示。 | Xml | XML 值。使用 GetValue 方法或 Value 屬性擷取字元串形式的 XML,或通過調用 CreateReader 方法擷取 XmlReader 形式的 XML。 | ||
Udt | SQL Server 2005 使用者定義的類型 (UDT)。 | ||||
Structured | 指定表值參數中包含的構造資料的特殊資料類型。 | ||||
IUnknown | 指向 IUnknown 接口的指針 (DBTYPE_UNKNOWN)。它映射到 Object。 | ||||
IDispatch | 指向 IDispatch 接口的指針 (DBTYPE_IDISPATCH)。它映射到 Object。 | ||||
Error | 32 位錯誤代碼 (DBTYPE_ERROR)。它映射到 Exception。 | ||||
Empty | 無任何值 (DBTYPE_EMPTY)。 |