DbType,OleDbType,SqlDbType区别

2024-03-15 03:38

本文主要是介绍DbType,OleDbType,SqlDbType区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DbType,OleDbType,SqlDbType区别

_dbtype _

DbType说明 OleDbType说明 SqlDbType说明 
Boolean简单类型,表示 true 或 false 的布尔值。 Boolean布尔值 (DBTYPE_BOOL)。它映射到 Boolean。 BitBoolean。无符号数值,可以是 0、1 或 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。 
         
SByte整型,表示值介于 -128 到 127 之间的有符号 8 位整数。 TinyInt8 位带符号的整数 (DBTYPE_I1)。它映射到 SByte。    
Byte一个 8 位无符号整数,范围在 0 到 255 之间。 UnsignedTinyInt8 位无符号整数 (DBTYPE_UI1)。它映射到 Byte。 TinyIntByte。8 位的无符号整数。 
Int16整型,表示值介于 -32768 到 32767 之间的有符号 16 位整数。 SmallInt16 位带符号的整数 (DBTYPE_I2)。它映射到 Int16。 SmallIntInt16。16 位的有符号整数。 
Int32整型,表示值介于 -2147483648 到 2147483647 之间的有符号 32 位整数。 Integer32 位带符号的整数 (DBTYPE_I4)。它映射到 Int32。 IntInt32。32 位的有符号整数。 
Int64整型,表示值介于 -9223372036854775808 到 9223372036854775807 之间的有符号 64 位整数。 BigInt64 位带符号的整数 (DBTYPE_I8)。它映射到 Int64。 BigIntInt64。64 位的有符号整数。 
UInt16整型,表示值介于 0 到 65535 之间的无符号 16 位整数。 UnsignedSmallInt16 位无符号整数 (DBTYPE_UI2)。它映射到 UInt16。    
UInt32整型,表示值介于 0 到 4294967295 之间的无符号 32 位整数。 UnsignedInt32 位无符号整数 (DBTYPE_UI4)。它映射到 UInt32。    
UInt64整型,表示值介于 0 到 18446744073709551615 之间的无符号 64 位整数。 UnsignedBigInt64 位无符号整数 (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。 RealSingle。-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。 MoneyDecimal。货币值,范围在 -2 63(即 -9,223,372,036,854,775,808)到 2 63 -1(即 +9,223,372,036,854,775,807)之间,精度为千分之十个货币单位。 
      SmallMoneyDecimal。货币值,范围在 -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。 DecimalDecimal。固定精度和小数位数数值,在 -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。 FloatDouble。-1.79E +308 到 1.79E +308 范围内的浮点数。 
   Numeric具有定点精度和小数位数的精确数值 (DBTYPE_NUMERIC)。它映射到 Decimal。    
VarNumeric变长数值。 VarNumeric变长数值(只限 OleDbParameter)。它映射到 Decimal。    
         
Guid全局唯一标识符(或 GUID)。 Guid全局唯一标识符(或 GUID) (DBTYPE_GUID)。它映射到 Guid。 UniqueIdentifierGuid。全局唯一标识符(或 GUID)。 
          
Binary二进制数据的可变长度流,范围在 1 到 8,000 个字节之间。 Binary二进制数据流 (DBTYPE_BYTES)。它映射到 Byte 类型的 Array。 BinaryByte 类型的 Array。二进制数据的固定长度流,范围在 1 到 8,000 个字节之间。 
   VarBinary二进制数据的变长流(只限 OleDbParameter)。它映射到 Byte 类型的 Array。 VarBinaryByte 类型的 Array。二进制数据的可变长度流,范围在 1 到 8,000 个字节之间。如果字节数组大于 8,000 个字节,隐式转换会失败。在使用比 8,000 个字节大的字节数组时,请显式设置对象。 
   LongVarBinary长的二进制值(只限 OleDbParameter)。它映射到 Byte 类型的 Array。    
      ImageByte 类型的 Array。二进制数据的可变长度流,范围在 0 到 2 31 -1(即 2,147,483,647)字节之间。 
         
AnsiStringFixedLength非 Unicode 字符的固定长度流。 Char字符串 (DBTYPE_STR)。它映射到 String。 CharString。非 Unicode 字符的固定长度流,范围在 1 到 8,000 个字符之间。 
AnsiString非 Unicode 字符的可变长度流,范围在 1 到 8,000 个字符之间。 VarChar非 Unicode 字符的变长流(只限 OleDbParameter)。它映射到 String。 VarCharString。非 Unicode 字符的可变长度流,范围在 1 到 8,000 个字符之间。 
StringFixedLengthUnicode 字符的定长串。 LongVarChar长的字符串值(只限 OleDbParameter)。它映射到 String。 NCharString。Unicode 字符的固定长度流,范围在 1 到 4,000 个字符之间。 
String表示 Unicode 字符串的类型。 LongVarWChar长的以 null 终止的 Unicode 字符串值(只限 OleDbParameter)。它映射到 String。 NVarCharString。Unicode 字符的可变长度流,范围在 1 到 4,000 个字符之间。如果字符串大于 4,000 个字符,隐式转换会失败。在使用比 4,000 个字符更长的字符串时,请显式设置对象。 
   VarWChar长可变、以 null 终止的 Unicode 字符流(只限 OleDbParameter)。它映射到 String。 TextString。非 Unicode 数据的可变长度流,最大长度为 2 31 -1(即 2,147,483,647)个字符。 
   WChar以 null 终止的 Unicode 字符流 (DBTYPE_WSTR)。它映射到 String。 NTextString。Unicode 数据的可变长度流,最大长度为 2 30 - 1(即 1,073,741,823)个字符。 
   BSTR以 null 终止的 Unicode 字符串 (DBTYPE_BSTR)。它映射到 String。    
         
DateTime表示一个日期和时间值的类型。 Date日期数据,存储为双精度型 (DBTYPE_DATE)。整数部分是自 1899 年 12 月 30 日以来的天数,而小数部分是不足一天的部分。它映射到 DateTime。 DateTimeDateTime。日期和时间数据,值范围从 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。    
   Filetime64 位无符号整数,表示自 1601 年 1 月 1 日以来 100 个纳秒间隔的数字 (DBTYPE_FILETIME)。它映射到 DateTime。    
      SmallDateTimeDateTime。日期和时间数据,值范围从 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。 TimestampByte 类型的 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。 VariantObject。特殊数据类型,可以包含数值、字符串、二进制或日期数据,以及 SQL Server 值 Empty 和 Null,后两个值在未声明其他类型的情况下采用。 
   PropVariant自动化 PROPVARIANT (DBTYPE_PROP_VARIANT)。它映射到 Object。    
         
XmlXML 文档或片段的分析表示。    XmlXML 值。使用 GetValue 方法或 Value 属性获取字符串形式的 XML,或通过调用 CreateReader 方法获取 XmlReader 形式的 XML。 
      UdtSQL Server 2005 用户定义的类型 (UDT)。 
      Structured指定表值参数中包含的构造数据的特殊数据类型。 
   IUnknown指向 IUnknown 接口的指针 (DBTYPE_UNKNOWN)。它映射到 Object。    
   IDispatch指向 IDispatch 接口的指针 (DBTYPE_IDISPATCH)。它映射到 Object。    
   Error32 位错误代码 (DBTYPE_ERROR)。它映射到 Exception。    
   Empty无任何值 (DBTYPE_EMPTY)。    

这篇关于DbType,OleDbType,SqlDbType区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810667

相关文章

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入