一切福田,不離方寸,從心而覓,感無不通。

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