欢迎来到天天文库
浏览记录
ID:20395078
大小:30.00 KB
页数:3页
时间:2018-10-12
《c#如何判断数据库中取出某个字段为空》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C#如何判断数据库中取出的某个字段为空stringconnStr="server=localhost;database=Employee_Absence;IntegratedSecurity=SSPI;";SqlConnectionmyconn=newSqlConnection(connStr);stringcmd="select*fromAbsence";SqlCommandmycmd=newSqlCommand(cmd,myconn);myconn.Open();SqlDataReadermyada=mycmd.E
2、xecuteReader();while(myada.Read()){if(myada["begin_time"]!=System.DBNull.Value){MessageBox.Show("成功");}}1.对DBNull的解释:该类用于指示不存在某个已知值(通常在数据库应用程序中)。在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有DBNull值。该类还可以用于在COMInterop
3、中区分VT_NULL变量(与空对象关联)和VT_EMPTY变量(与DBNull.Value实例关联)。DBNull从不等于任何值。DBNull是一个单独的类,这意味着该类只能存在一个实例。这个唯一的实例是DBNull.Value。访问SQL数据库的数据密集应用程序必须使用System.Data.SqlTypes类,这些类对空值具有内在支持。DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,DBNull唯一作用是可以表示数据库中的字符串,数字,或日期,为什么可以表示原因是Dot
4、Net储存这些数据的类(DataRow等)都是以object的形式来储存数据的。对于DataRow,它的row[column]返回的值永远不为null,要么就是具体的为column的类型的值。要么就是DBNull。所以row[column].ToString()这个写法永远不会在ToString那里发生NullReferenceException。DBNull实现了IConvertible。但是,除了ToString是正常的外,其他的ToXXX都会抛出不能转换的错误。2.Nullnull关键字是表示不引用任何对象的空引
5、用的文字值。null是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果inti=null,的话,是不可以的,因为Int是值类型的。"null"meanstheobjectreferenceisinvalidin.NET,whenyouretrieveaNULLvaluefromtheDatabase,itisavalidvalueto.NET,anditisrepresentedbySystem.DBNull.Valuenull用于判断ReferenceinvalidateDBNull类表示一个不存在的
6、值。例如,在数据库的表中,某一行的某列中可能不包含任何数据。即,该列被视为根本不存在,而不只是没有值。一个表示不存在的列的DBNull对象。此外,COM互操作使用DBNull类来区分VT_NULL变量(指示不存在的值)和VT_EMPTY变量(指示未指定的值)。DBNull类型是一个单独的类,这意味着只有一个DBNull对象存在。DBNull.Value成员表示单独的DBNull对象。DBNull.Value可用于将不存在的值显式分配给数据库字段,但大多数ADO.NET数据提供程序在字段没有有效值时会自动分配DBNull
7、值。您可以通过将从数据库字段检索到的值传递给DBNull.Value.Equals方法,确定该字段值是否为DBNull值。然而,有些语言和数据库对象提供一些方法,可以更容易地确定数据库字段值是否为DBNull.Value。请勿将面向对象的编程语言中的null概念与DBNull对象混淆。在面向对象的编程语言中,null表示缺少对象的引用。DBNull表示未初始化的变量或不存在的数据库列。
此文档下载收益归作者所有