- 1
- 0
- 约1.96千字
- 约 3页
- 2017-06-12 发布于北京
- 举报
C#如何判断数据库中取出的某个字段为空string connStr = server = localhost; database = Employee_Absence; Integrated Security = SSPI;;
SqlConnection myconn = new SqlConnection(connStr);
string cmd = select * from Absence;
SqlCommand mycmd = new SqlCommand(cmd, myconn);
myconn.Open();
SqlDataReader myada = mycmd.ExecuteReader();
while (myada.Read())
{
if (myada[begin_time] != System.DBNull.Value)
{
MessageBox.Show(成功);}
}
1.对DBNull的解释:
该类用于指示不存在某个已知值(通常在数据库应用程序中)。
在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value 实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有 DBNull 值。 该类还可以用于在 COM Interop 中区分 VT_NULL 变量(与空对象关联)和 VT_EMPTY 变量(与 DBNull.Value 实例关联)。 DBNull 从不等于任何值。 DBNull 是一个单独的类,这意味着该类只能存在一个实例。这个唯一的实例是 DBNull.Value。 访问 SQL 数据库的数据密集应用程序必须使用 System.Data.SqlTypes 类,这些类对空值具有内在支持。 DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,DBNull唯一作用是可以表示数据库中的字符串,数 字,或日期,为什么可以表示原因是DotNet储存这些数据的类(DataRow等)都是以 object 的形式来储存数据的。对于 DataRow , 它的 row[column] 返回的值永远不为 null , 要么就是具体的为column 的类型的值 。 要么就是 DBNull 。 所以 row[column].ToString() 这个写法永远不会在ToString那里发生NullReferenceException。DBNull 实现了 IConvertible 。但是,除了 ToString 是正常的外,其他的ToXXX都会抛出不能转换的错误。
2. Null
null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是值类型的。
null means the object reference is invalid in .NET, when you retrieve a NULL value from the Database, it is a valid value to .NET, and it is represented by System.DBNull.Value
null用于判断Reference invalidate
DBNull 类表示一个不存在的值。 例如,在数据库的表中,某一行的某列中可能不包含任何数据。 即,该列被视为根本不存在,而不只是没有值。 一个表示不存在的列的 DBNull 对象。 此外,COM 互操作使用 DBNull 类来区分 VT_NULL 变量(指示不存在的值)和 VT_EMPTY 变量(指示未指定的值)。
DBNull 类型是一个单独的类,这意味着只有一个 DBNull 对象存在。 DBNull.Value 成员表示单独的 DBNull 对象。 DBNull.Value 可用于将不存在的值显式分配给数据库字段,但大多数 ADO.NET 数据提供程序在字段没有有效值时会自动分配 DBNull 值。 您可以通过将从数据库字段检索到的值传递给 DBNull.Value.Equals 方法,确定该字段值是否为 DBNull 值。 然而,有些语言和数据库对象提供一些方法,可以更容易地确定数据库字段值是否为 DBNull.Value。请勿将面向对象的编程语言中的 null 概念与 DBNull 对象混淆。 在面向对象的编程语言中,null 表示缺少对象的引用。 DBNull 表示未初始化的变量或不存在的数据库列。
您可能关注的文档
- AutoCAD快捷键大全.docx
- AutoCAD线条加粗秘诀.doc
- AutoCAD菜单系统用户化的改造.doc
- Autoconer络筒和捻接技术.doc
- AUTODESK2017全系列产品密钥.docx
- avi格式转换成gif格式.doc
- AV系列代码说明书.doc
- AWE2015:智能化的战场谁能脱颖而出.doc
- AWL单词列表及练习.docx
- a上海到喀什物流公司.doc
- 2026及未来5年中国电磁铁行业市场发展监测及投资战略咨询报告.docx
- 2026及未来5年中国建筑工程机械行业市场发展监测及投资战略规划报告.docx
- 2026及未来5年中国硫化镍行业市场调研分析及投资战略规划报告.docx
- 2026及未来5年中国烷化剂市场运营态势及发展前景预测报告.docx
- 2026年涤纶细旦长丝项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年弓型虫抗体试剂项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年拖链系统用高柔性数据传输电缆项目可行性研究报告(市场数据调查、监测研究).docx
- 2025年中国水晶圆盘市场调查研究报告.docx
- 2025年中国长网双辊挤浆机市场调查研究报告.docx
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
原创力文档

文档评论(0)