来源:http://www.cnblogs.com/luohuarenduli/archive/2008/05/09/1190490.html
(1)NULL
null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是值类型的。
(2)DBNULL
DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,DBNull唯一作用是可以表示数据库中的字符串,数字,或日期,为什么可以表示原因是DotNet储存这些数据的类(DataRow等)都是以 object 的形式来储存数据的。对于 DataRow , 它的 row[column] 返回的值永远不为 null , 要么就是具体的为column 的类型的值 。 要么就是 DBNull 。 所以 row[column].ToString() 这个写法永远不会在ToString那里发生NullReferenceException。DBNull 实现了 IConvertible 。但是,除了 ToString 是正常的外,其他的ToXXX都会抛出不能转换的错误。
(3)""和String.Empty
这两个都是表示空字符串,其中有一个重点是string str1="" 和 string str2=null 的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将抱错。
(4)Convert.IsDBNull()
Convert.IsDBNull()返回有关指定对象是否为 DBNull 类型的指示,即是用来判断对象是否为DBNULL的。其返回值是True或Flase。
分享到:
相关推荐
在ASP.NET开发中,了解`DBNull.Value`, `null`, 和 `String.Empty`的区别至关重要,因为它们在处理数据和字符串操作时有不同的含义和用途。以下是对这三个概念的详细解析: 1. **DBNull.Value**: DBNull.Value是...
根据给定的文件信息,我们可以总结出以下关于C#中使用`Database.cs`类来连接数据库的关键知识点: ### 一、C#中的Database类设计 `Database.cs`类被设计用于封装与数据库交互的所有功能,包括但不限于连接数据库、...
例如,在C#中,当我们尝试将DBNull.Value转换为int、string或其他任何类型时,就会引发此异常。这主要是因为DBNull.Value不是一个实际的对象实例,而是一种特殊标记,用于表示数据行中的特定列包含数据库NULL值。 #...
C# Newtonsoft.Json 类库是.NET开发中广泛使用的第三方库,用于处理JSON(JavaScript Object Notation)数据。这个库由James Newton-King 创建,因此命名为Newtonsoft.Json,它提供了丰富的功能来序列化和反序列化...
在C#中与Oracle数据库进行交互是常见的任务,本文将详细介绍两种主要的连接方式、事务处理、命令参数的创建以及如何使用数据集显示查询结果。这些知识点对于开发C#应用程序并需要与Oracle数据库进行交互的开发者来说...
- **开发语言**:C# - **数据库类型**:DBF (FoxPro数据库) - **.NET Framework组件**:`System.Data.OleDb` #### 实现步骤详解 ### 2. 准备阶段 - **标准库复制**:为了确保导出的DBF文件结构符合预期,首先需要...
### ASP.NET中对数据库表插入NULL空值的问题 在ASP.NET开发过程中,向数据库表插入数据时遇到NULL值处理不当的问题十分常见。本篇文章将详细探讨这个问题,并提供一些解决方案。 #### 问题背景 在ASP.NET应用程序...
可空类型用途主要是从数据库读取数据有可能为空,而不是插入使用,插入数据都要进行验证,如果要插入数据库的null,则使用DBNull.value 判断取出的数据是否为数据库中的null,如果是则赋值给可空的datetime类型的...
C#中的null与SQL中的NULL是不一样的,SQL中的NULL用C#表示出来就是DBNull.Value。 注意:SQL参数是不能接受C#的null值的,传入null就会报错。 下面我们看个例子: SqlCommand cmd=new SqlCommand(Insert into ...
需要下载:Silverlight.DataSet和Silverlight.DataSetConnector ...此DataTable中存入的数据不是object类型的,而全是string类型的,如果数据库中存的值为null,那么取出来的值是null而不是DbNull.Value.
在C#网站开发中,处理数据库查询结果时,通常会将数据加载到`DataSet`对象中进行操作。例如,获取`RelClinicID`字段的信息可以使用以下代码: ```csharp dataset.Tables[0].DefaultView[0]["RelClinicID"].ToString...
### C#中的SQLite操作类库知识点详解 #### 一、简介 在开发应用程序时,数据库操作是必不可少的一部分。本文档将详细介绍一个C#中的SQLite操作类库——`SQLiteHelper`,该类库提供了多种用于执行SQLite数据库操作的...
在C#编程语言中,类型转换是一项非常重要的技能,它能够帮助开发者灵活地处理不同数据类型之间的转换。本文将基于提供的代码片段来深入探讨C#中的几种常见类型转换方法,以及如何进行汉字和Email的判断。 #### 类型...
在C#中,改变DataGrid的行和单元格颜色通常涉及到对WPF的DataGrid控件的操作,包括数据源的绑定、行和单元格的获取以及样式设置。以下是一个详细的步骤来实现这一功能: 1. **添加DataGrid控件**: 在XAML文件中,...
在`ThisDemo`类中,无参数的构造函数`ThisDemo()`调用了带有参数的构造函数`ThisDemo(String name, int age)`,这样可以在初始化对象时根据需要选择不同的构造方式。虽然看起来可能会有两个内存空间的创建,但实际上...
### C#与数据库交互关键技术详解 #### 一、事务处理 事务是数据库操作的重要组成部分,它确保了数据的一致性和完整性。在C#中通过ADO.NET可以方便地管理事务。 **1.1 事务基本概念** 事务(Transaction)是指一组...
在C#开发中,将DataTable转换为List泛型集合是一个常见的需求,特别是在使用三层架构进行网站开发时,我们可能会从数据访问层获取一个DataTable对象,然后需要将其转换为一个强类型的List集合以便在业务逻辑层或表示...
代码如下:注:MyTools.g_PhotoField为数据库表中的图象字段名称//将图片保存到数据库中 if(this.picPhoto.Image==null) { m_DataRow[MyTools.g_PhotoField]=DBNull.Value; } else { try { MemoryStream ms = ...
- **解决方法**:使用`DBNull.Value`来判断是否为NULL,或者在访问字段前使用`IsDBNull`方法。 ```csharp if (!reader.IsDBNull(reader.GetOrdinal("FieldName"))) { string fieldValue = reader["FieldName"] ...