SqlDbType 与 .Net 数据类型对照表 和 SqlDbType转换为C#数据类型

成员名称

说明

BigInt

受 .NET Framework 精简版的支持。

Int64

一个 64 位的有符号整数。

Binary

受 .NET Framework 精简版的支持。

Array 类型为 Byte

二进制数据的固定长度流,范围在 1 到 8,000 个字节之间。

Bit

受 .NET Framework 精简版的支持。

Boolean

无符号数值,可以是 0、1 或空引用(Visual Basic 中为 Nothing)。

Char

受 .NET Framework 精简版的支持。

String

非 Unicode 字符的固定长度流,范围在 1 到 8,000 个字符之间。

DateTime

受 .NET Framework 精简版的支持。

DateTime

日期和时间数据,值范围从 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度为 3.33 毫秒。

Decimal

受 .NET Framework 精简版的支持。

Decimal

固定精度和小数位数数值,在 -1038 -1 和 10 38 -1 之间。

Float

受 .NET Framework 精简版的支持。

Double

-1.79E +308 到 1.79E +308 范围内的浮点数字。

Image

受 .NET Framework 精简版的支持。

Array 类型为 Byte

二进制数据的可变长度流,范围在 0 到 231 -1(或 2,147,483,647)个字节之间。

Int

受 .NET Framework 精简版的支持。

Int32

一个 32 位的有符号整数。

Money

受 .NET Framework 精简版的支持。

Decimal

一个货币值,范围在 -263(即 -922,337,203,685,477.5808)到 2 63 -1(即 +922,337,203,685,477.5807)之间,精度为千分之十个货币单位。

NChar

受 .NET Framework 精简版的支持。

String

Unicode 字符的固定长度流,范围在 1 到 4,000 个字符之间。

NText

受 .NET Framework 精简版的支持。

String

Unicode 数据的可变长度流,最大长度为 230 - 1(或 1,073,741,823)个字符。

NVarChar

受 .NET Framework 精简版的支持。

String

Unicode 字符的可变长度流,范围在 1 到 4,000 个字符之间。

注意   如果字符串大于 4,000 个字符,隐式转换会失败。在使用比 4,000 个字符更长的字符串时,请显式设置对象。

Real

受 .NET Framework 精简版的支持。

Single

-3.40E +38 到 3.40E +38 范围内的浮点数字。

SmallDateTime

受 .NET Framework 精简版的支持。

DateTime

日期和时间数据,值范围从 1900 年 1 月 1 日到 2079 年 6 月 6 日,精度为 1 分钟。

SmallInt

受 .NET Framework 精简版的支持。

Int16

一个 16 位的有符号整数。

SmallMoney

受 .NET Framework 精简版的支持。

Decimal

一个货币值,范围在 -214,748.3648 到 +214,748.3647 之间,精度为千分之十个货币单位。

Text

受 .NET Framework 精简版的支持。

String

非 Unicode 数据的可变长度流,最大长度为 231 -1(或 2,147,483,647) 个字符。

Timestamp

受 .NET Framework 精简版的支持。

Array 类型为 Byte

自动生成的二进制数,并保证其在数据库中唯一。timestamp 通常用作对表中各行的版本进行标记的机制。存储大小为 8 字节。

TinyInt

受 .NET Framework 精简版的支持。

Byte

8 位的无符号整数。

UniqueIdentifier

受 .NET Framework 精简版的支持。

Guid

全局唯一标识符(或 GUID)。

VarBinary

受 .NET Framework 精简版的支持。

Array 类型为 Byte

二进制数据的可变长度流,范围在 1 到 8,000 个字节之间。

注意   如果字节数组大于 8,000 个字节,隐式转换会失败。在使用比 8,000 个字节大的字节数组时,请显式设置对象。

VarChar

受 .NET Framework 精简版的支持。

String

非 Unicode 字符的可变长度流,范围在 1 到 8,000 个字符之间。

Variant

受 .NET Framework 精简版的支持。

Object

特殊数据类型,可以包含数值、字符串、二进制或日期数据,以及 SQL Server 值 Empty 和 Null,后面的两个值在不声明其他类型的情况下采用。

--------------------------------SqlDbType转换为C#数据类型--------------------------------------------------------------

 /// <summary>
2         /// SqlDbType转换为C#数据类型
3         /// </summary>
4         /// <param name="sqlType"></param>
5         /// <returns></returns>
6         public static Type SqlType2CsharpType(SqlDbType sqlType)
7         {
8             switch (sqlType)
9             {
10                 case SqlDbType.BigInt:
11                     return typeof(Int64);
12                 case SqlDbType.Binary:
13                     return typeof(Object);
14                 case SqlDbType.Bit:
15                     return typeof(Boolean);
16                 case SqlDbType.Char:
17                     return typeof(String);
18                 case SqlDbType.DateTime:
19                     return typeof(DateTime);
20                 case SqlDbType.Decimal:
21                     return typeof(Decimal);
22                 case SqlDbType.Float:
23                     return typeof(Double);
24                 case SqlDbType.Image:
25                     return typeof(Object);
26                 case SqlDbType.Int:
27                     return typeof(Int32);
28                 case SqlDbType.Money:
29                     return typeof(Decimal);
30                 case SqlDbType.NChar:
31                     return typeof(String);
32                 case SqlDbType.NText:
33                     return typeof(String);
34                 case SqlDbType.NVarChar:
35                     return typeof(String);
36                 case SqlDbType.Real:
37                     return typeof(Single);
38                 case SqlDbType.SmallDateTime:
39                     return typeof(DateTime);
40                 case SqlDbType.SmallInt:
41                     return typeof(Int16);
42                 case SqlDbType.SmallMoney:
43                     return typeof(Decimal);
44                 case SqlDbType.Text:
45                     return typeof(String);
46                 case SqlDbType.Timestamp:
47                     return typeof(Object);
48                 case SqlDbType.TinyInt:
49                     return typeof(Byte);
50                 case SqlDbType.Udt://自定义的数据类型
51                     return typeof(Object);
52                 case SqlDbType.UniqueIdentifier:
53                     return typeof(Object);
54                 case SqlDbType.VarBinary:
55                     return typeof(Object);
56                 case SqlDbType.VarChar:
57                     return typeof(String);
58                 case SqlDbType.Variant:
59                     return typeof(Object);
60                 case SqlDbType.Xml:
61                     return typeof(Object);
62                 default:
63                     return null;
64             }

posted @ 2011-06-25 10:09  赤卫  Views(967)  Comments(0)    收藏  举报