System.Data.SqlTypes 命名空间
更新:2007 年 11 月
System.Data.SqlTypes 命名空间提供 SQL Server 中本机数据类型的类。这些类提供一种比 .NET Framework 公共语言运行库 (CLR) 提供的数据类型更安全、更快的替代方案。使用此命名空间中的类有助于防止出现精度损失造成的类型转换错误。由于其他数据类型在幕后与 SqlTypes 进行相互转换,所以在此命名空间内显式创建和使用对象将会使代码更快。
SqlTypes 中的每个数据类型在 SQL Server 中具有其等效的数据类型(具有相同的基础数据表示形式)。很多数据类型在 CLR 中也有等效数据类型。但是,SqlDateTime、SqlDecimal 和 SqlString 具有与它们对应的 .NET Framework 数据类型不同的基础数据结构。
下表将 SqlTypes 命名空间的成员映射到 Microsoft SQL Server 数据类型及 SqlDbType 枚举的成员。
.NET Framework SqlTypes | 本机 SQL Server | .NET Framework SqlDbType |
|---|---|---|
binary、image、timestamp、varbinary | Binary、Image、TimeStamp、VarBinary | |
bit | Bit | |
tinyint | TinyInt | |
datetime、smalldatetime | DateTime、SmallDateTime | |
numeric、decimal | Decimal | |
float | Float | |
varbinary | VarBinary | |
uniqueidentifier | UniqueIdentifier | |
smallint | SmallInt | |
int | Int | |
bigint | BigInt | |
money、smallmoney | Money、SmallMoney | |
real | Real | |
char、nchar、text、ntext、nvarchar、varchar | Char、NChar、Text、Ntext、NVarChar、VarChar | |
xml | Xml |
| 结构 | 说明 | |
|---|---|---|
![]() | SqlBinary | 表示要存储在数据库中或从数据库中检索的二进制数据的可变长度流。 |
![]() | SqlBoolean | 表示要存储在数据库中或者从数据库中检索的整数值,为 1 或 0。 |
![]() | SqlByte | 表示要存储在数据库中或从数据库中检索的 8 位无符号整数,此整数在 0 到 255 范围内。 |
![]() | SqlDateTime | 表示要存储在数据库中或从数据库中检索的日期和时间数据,值范围介于 1753 年 1 月 1 日到 9999 年 12 月 31 日之间,精度为 3.33 毫秒。SqlDateTime 结构具有与其相应的 .NET Framework 类型 DateTime 不同的基础数据类型,该结构可以表示 12:00:00 AM 1/1/0001 和 11:59:59 PM 12/31/9999 之间的任何时间,精度可达到 100 纳秒。SqlDateTime 实际上存储的是相对于 00:00:00 AM 1/1/1900 的差值。因此,将“00:00:00 AM 1/1/1900”转换为整数将返回 0。 |
![]() | SqlDecimal | 表示具有固定精度和小数位数的数值,该数值介于 - 10^38 +1 和 10^38 - 1 之间。 |
![]() | SqlDouble | 表示要存储在数据库中或从数据库中检索的浮点数字,该数字介于 -1.79E+308 到 1.79E+308 的范围内。 |
![]() | SqlGuid | 表示要存储在数据库中或要从数据库中检索的 GUID。 |
![]() | SqlInt16 | 表示要在数据库中存储或检索的 16 位有符号整数。 |
![]() | SqlInt32 | 表示要在数据库中存储或检索的 32 位有符号整数。 |
![]() | SqlInt64 | 表示要在数据库中存储或检索的 64 位有符号整数。 |
![]() | SqlMoney | 表示要存储在数据库中或要从数据库中检索的货币值,范围介于 -2 63(或 -922,337,203,685,477.5808)到 2 63 -1(或 +922,337,203,685,477.5807)之间,精度为千分之十货币单位。 |
![]() | SqlSingle | 表示要存储在数据库中或从数据库中检索的浮点数,范围在 -3.40E+38 到 3.40E+38 之间。 |
![]() | SqlString | 表示要存储到数据库中或要从数据库中检索的字符的可变长度流。SqlString 具有与其相应的 .NET Framework String 数据类型不同的基础数据结构。 |
| 枚举 | 说明 | |
|---|---|---|
![]() | SqlCompareOptions | 为 SqlString 结构指定比较选项值。 |
![]() | StorageState | StorageState 枚举不用作独立组件,而是用作其他类从中派生标准功能的枚举。 |
