天天看點

DbType,OleDbType,SqlDbType差別

DbType,OleDbType,SqlDbType差別

_

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)。