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

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab