C#与SQL Server之间的数据类型对比及在VS2003中空值传递的解决办法(上)
2006-01-17 17:00
781 查看
这是我在开发多层体系结构时遇到的问题,由于VS.NET尚不支持各种数据类型的空值即null,放入实体类中在各个层之间作为参数传递,所以经查询参考SQL Server 2000的联机丛书和.NET的MSDN Library以及在编写代码生成时结合CodeSmith的数据类型,总结找出如下的类型对照解决方案,将其放在一个公用类或公用方法工程的类中使用即可,遇到各种数据类型的空值即可这样进行处理。
本文出自 “努力学习的小熊” 博客,转载请与作者联系!
[align=center]SQL Server 2000[/b][/align] | [align=center]C#[/b][/align] | [align=center]CodeSmith[/b][/align] | |||
[align=center]数据类型[/b][/b][/align] | [align=center]取值范围[/b][/b][/align] | [align=center]数据类型[/b][/b][/align] | [align=center]取值范围[/b][/b][/align] | [align=center]空值代替值[/b][/b][/align] | [align=center]数据类型[/b][/b][/align] |
bigint | -2^63 (-9,223,372,036,854,775,807) 至 2^63-1 (9,223,372,036,854,775,807) | Int64 | -9,223,372,036,854,775,808;即十六进制的 0x8000000000000000至9,223,372,036,854,775,807;即十六进制的 0x7FFFFFFFFFFFFFFF | Int64.MinValue | Int64 |
binary | 固定长度的 n 个字节二进制数据。N 必须从 1 到 8,000。存储空间大小为 n+4 字节。 | Byte[] | null | Binary | |
bit | True,False | enum | 0,1,-1(使用一个枚举变量来代替) [align=left]public enum bitNull [/align] [align=left]{[/align] [align=left] False,[/align] [align=left] True,[/align] [align=left] Null = -1[/align] [align=left]};[/align] | -1 | Boolean |
char | 长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。 | string | null | AnsiStringFixedLength | |
datetime | 存储从 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期(每个数值要求 8 个字节的存储空间) | DateTime | 0001 年 1 月 1 日 00:00:00 .0000000至9999 年 12 月 31 日 23:59:59.9999999 | 1753-01-01 0:00:00 | DateTime |
decimal | 从 - 10^38 +1 到 10^38 - 1 | Decimal | -79,228,162,514,264,337,593,543,950,335至79,228,162,514,264,337,593,543,950,335 | Decimal.MinValue | Decimal |
float | 从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据 | Double | -1.79769313486232e308至+1.79769313486232e308 | Double.MinValue | Double |
image | 可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 | Byte[] |
相关文章推荐
- C#与SQL Server之间的数据类型对比及在VS2003中空值传递的解决办法
- C#与SQL Server之间的数据类型对比及在VS2003中空值传递的解决办法
- 转C#与SQL Server之间的数据类型对比及在VS2003中空值传递的解决办法
- C#与SQL Server之间的数据类型对比及在VS2003中空值传递的解决办法(下)
- C#与SQL Server之间的数据类型对比及在VS2003+中空值传递的解决办法
- C#与SQL Server之间的数据类型对比及在VS2005中空值传递的解决办法
- C#与SQL Server之间的数据类型对比及在VS2005中空值传递
- 使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
- SQL Server 2005 不支持"date"数据类型的解决办法
- 使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
- 使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
- 使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
- 使用的 SQL Server 版本不支持数据类型“datetime2”解决办法 .
- C#与C/C++ dll之间数据传递的一些问题与解决
- Sql Server与c#之间数据类型对应
- SQL Server 2008 表保存之后就不可以修改数据类型解决办法
- SilverLight C#中char(1)数据类型页面显示解决办法(讨论)
- asp.net提示使用的 SQL Server 版本不支持数据类型“date”的解决办法:
- 使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
- 使用的 SQL Server 版本不支持数据类型“datetime2”的解决办法