欢迎来到天天文库
浏览记录
ID:31137038
大小:105.00 KB
页数:4页
时间:2019-01-07
《基于asp.net+sql server可空类型数据的转换研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于ASP.NET+SQLSERVER可空类型数据的转换研究 摘要:就基于ASP.NET连接访问SQLServer数据库中可空类型数据和不可空类型数据的阐述。列举ASP.NET和SQLServer可空类型数据的差异及类型转换的方法。对可空类型数据转换给出解决方案。 关键词:可空类型数据;Null;类型转换 ASP.NET是一个全新和强大的服务器控件结构,ASP.NET环境中提供ADO.NET的访问接口,通过它连接SQLServer。两家软件公司对可空类型数据的定义存在着差异,所以在程序设计过程中会出现类型数据转换不符的系统错误
2、。 一、可空类型数据和不可空类型数据 1.SQLServer中的可空类型数据和不可空类型数据 SQLServer数据库中对表结构进行定义时,任何一种类型都可以设置为可空类型或不可空类型。如下图1所示: ■ 允许空值选中。这代表着id这个列名的数据类型是可空的,反之,数据的类型是不可空的。所以判断SQLServer中的数据类型是可空的只要看允许空选项是否选中。 2.在ASP.NET中的可空类型数据与不可空类型数据 ASP.NET中提供多种编程语言环境。以C#为例,C#中基本的数据类型为值类型和引用类型。C#42.0以上版
3、本中新增加了可空类型,即包含Null值的值类型。而不可空类型数据一般是值类型,如int,boolean,decinal,datetime等。当我们最终把数据库表映射到一个对象时,此时如datetime等值类型在C#语言中是不能为Null。 3.Null与"",0的区别 “Null”和数据空不是同一个概念。实际上,Null代表是空值,是“可以让它是空的”的数据值,数据空可能是数字“0”,也有可能是空格数据"",它所呈现的值取决于数据库表中的数据类型定义,如是整型或其他数值类型,则数据空为默认数字的“0”。但不能输入Null。如是S
4、tring字符串类型,默认值为Null,可以输入"",也可能输入字符0。 4.可空类型数据的实际应用 C#程序设计中,常用到可空类型数据与不可空类型数据。C#中的其他值类型数据都可能在程序运行的过程出现“不显示”或“不设置”这种情况。这些需通过类型数据的转换,符合设计和应用人员的要求。如何解决值类型也能为可空类型?用什么方法进行类型数据转换? 二、可空类型数据转换 1.可空类型数据的转换方法 C#中的不可空类型数据如何转换为可空类型数据。它的转换格式如下如示: int?nullable=null; 或Nullablen
5、ullable=null; 两者的表示是等效的。常用第一种方式。 在类型数据定义符后面加上一个“?”4,就可把C#中不可空类型数据转换为可空类型类型。 2.整数类型的转换 下面以例1来加强认识。 例1:整数的互相赋值 INTI1=5;I1赋值为5 INT?I2=I1;//可以赋值int赋值给int? INT?I3=5;I3赋值为5 INTI4=I3;//不可以赋值int?赋值给int 从上面的几个赋值可知,可空类型数据可以接受同类型的不可空类型的数据。不可空类型数据不能接受可空类型数据。 3.日期类型数据的转换
6、 ■ C#中WPF窗口拖入一个按钮控件和一个日期控件,并对按钮进行设计,如图2所示。 C#中日期类型dateTime是一个不可空的类型数据。datePicker是WPF是一个日期选择控件,其中SelecteDate属性是一个可空的类型。要把datePicker控件所选择的日期数据传递出去。需要进行类型转换。可用以下程序代码解决。 dateTime?value=datePicker1.Selecteddate; 同样的原理,其他的不可空类型数据可以通过在类型标志前加“?”解决可空类型数据的转换。 4.注意事项4 (1)因
7、为可空类型可能为空,于是很多运算法则将不再简单适用,如A+B,如果A或者B当中有一个或者两个为可空类型,那么它们便不能简单相加,因为它们可能会为空,这时结果也就可能会为空,所以一定要了解该数据的类型。如果程序编译出现未能转换类型错误,则要考虑该数据类型是否可为空。 (2)可空类型可强制转换为对应的基础类型,但在转换之前一定要知道是否不为空,如果为空的话就会出错。 (3)不要随意使用可空类型,使用时一定要小心,随时了解数据类型是否为空。 可空类型允许变量包含未定义的值。使用SQLServer数据库设计可使用可空类型。而在C#设计
8、环境中这种限制使得我们在开发过程中要相当小心,要考虑的内容较多。通过合理设置可空类型,或进行类型数据的转换,把一些潜在的麻烦或错误消除。 参考文献: [1]吴晨.ASP.NET2.0+SQLServer2005数据库开发与实例.清
此文档下载收益归作者所有