SQL中的NULL和.NET中的DBNULL以及面向编程语言中的NULL分析
一:SQL Server中的NULL和.NET中的DBNULL以及面向编程语言中的NULL的区别
1:SQL Server中的NULL SQL Server中的空值用“NULL“表示,等同于“没有输入的值”,在T-SQL命令中,判断一个值是不是空值,要使用“IS NULL”,而不是使用“=NULL”,在SQL Server数据库中的某个表插入一个新的行,新行中没有输入值的字段都是“空值”,在SQL Server数据库中的某个表的有数值的数据编辑区域,用Ctrl+0键,可将该单元格变成“空值”。

二:实例
SqlConnection conn = SqlHelper.GetConnection(Convert.ToInt16(CustomEnum.DBCallType.其他库));
string sqlText = "SELECT * FROM NameAndSubjectAndGrade WHERE ID = 15";
SqlDataReader dr = SqlHelper.ExecuteReader(conn, CommandType.Text, sqlText);
if (dr.Read())
{
if (dr["Name"] is DBNull)
{
this.txtName.Text = "";
}
else
{
this.txtName.Text = dr["Name"].ToString();
}
if (dr["Subject"] is DBNull)
{
this.txtSubject.Text = "";
}
else
{
this.txtSubject.Text = dr["Subject"].ToString();
}
if (dr["Grade"] is DBNull)
{
this.txtSubject.Text = "";
//也可以写成如下方式,DBNULL是可以转化为String类型的,转化后的值为""
this.txtSubject.Text = dr["Grade"].ToString();
}
else
{
this.txtGrade.Text = dr["Grade"].ToString();
}
}