DBNull 类
来源:互联网 发布:淘宝网火车票 编辑:程序博客网 时间:2024/04/25 20:12
DBNull 类表示一个不存在的值。例如,在数据库的表中,某一行的某列中可能不包含任何数据。即,该列被视为根本不存在,而不只是没有值。一个表示不存在的列的DBNull 对象。 此外,COM 互操作使用DBNull 类来区分 VT_NULL 变量(指示不存在的值)和 VT_EMPTY 变量(指示未指定的值)。
DBNull 类型是一个单独的类,这意味着只有一个DBNull 对象存在。DBNull.Value 成员表示单独的DBNull 对象。DBNull.Value 可用于将不存在的值显式分配给数据库字段,但大多数 ADO.NET 数据提供程序在字段没有有效值时会自动分配DBNull 值。您可以通过将从数据库字段检索到的值传递给DBNull.Value.Equals 方法,确定该字段值是否为DBNull 值。然而,有些语言和数据库对象提供一些方法,可以更容易地确定数据库字段值是否为DBNull.Value。这些方法包括 Visual Basic 的IsDBNull 函数、Convert.IsDBNull 方法、DataTableReader.IsDBNull 方法和 IDataRecord.IsDBNull 方法。
请勿将面向对象的编程语言中的null 概念与DBNull 对象混淆。在面向对象的编程语言中,null 表示缺少对象的引用。DBNull 表示未初始化的变量或不存在的数据库列。
例子:
下面的示例调用 DBNull.Value.Equals 方法,来确定联系人数据库中的数据库字段是否具有有效值。如果具有有效值,字段值将被追加到在标签中输出的字符串中。
private void OutputLabels(DataTable dt)
{
string label;}
// Iterate rows of table
foreach (DataRow row in dt.Rows)
{int labelLen;}
label = String.Empty;
label += AddFieldValue(label, row, "Title");
label += AddFieldValue(label, row, "FirstName");
label += AddFieldValue(label, row, "MiddleInitial");
label += AddFieldValue(label, row, "LastName");
label += AddFieldValue(label, row, "Suffix");
label += "\n";
label += AddFieldValue(label, row, "Address1");
label += AddFieldValue(label, row, "AptNo");
label += "\n";
labelLen = label.Length;
label += AddFieldValue(label, row, "Address2");
if (label.Length != labelLen)
label += "\n";
label += AddFieldValue(label, row, "City");
label += AddFieldValue(label, row, "State");
label += AddFieldValue(label, row, "Zip");
Console.WriteLine(label);
Console.WriteLine();
private string AddFieldValue(string label, DataRow row, string fieldName)
{
if (! DBNull.Value.Equals(row[fieldName]))}
return (string) row[fieldName] + " ";
else
return String.Empty;
- DBNull 类
- DBNull
- DBNULL
- null DBNull
- DBNull.Value
- DBNull.Value
- .Net中的DBNull类型
- DBNull与string.empty
- 关于dbnull的用法
- 什么地方遇到DBNull?
- net中的DBNull理解
- .net中的DBNull理解
- DBNull使用技巧
- .Net中的DBNull类型
- 关于dbnull的用法
- DBNull与null
- NullとDBNull区別:
- DBNull.value和Null
- 关于C++的 explicit关键字
- ITPUB知识索引贴--Oracle 11G
- 数组和指针(Arrays and Pointers)
- Android 退出多个Activity | 退出程序
- PinYin Keyboard - PinYin Editor
- DBNull 类
- 配置第一个Hibernate程序
- VC# 2008 ASP.NET Gridview1获取任意行列的值
- How Tomcat Works学习笔记<五>
- hdu 3478 //判联通+二分图判定
- 我的第一个hibernate程序
- 在VC6 IDE中实现通配符查找代码
- http chunked传输
- 老子的软件之道 - 道篇 13 探路者