数据库中空值的处理
-> 准备一张新表
create table nullTable
(
id int primary key,
name nvarchar(10)
)
insert into nullTable(id, name) values(1, '名字1'),(2, '名字2');
insert into nullTable(id) values(3);
insert into nullTable(id, name) values(4, '名字3');
-> 读取数据
使用SqlDataReader对象
select id, name from nullTable;
using(SqlDataReader reader = ...)
{
while(reader.Read())
{
int id = Convert.ToInt32(reader[0]);
string name = reader[1].ToString();
}
}
-> reader有一个方法IsDbNull(第几列);
判断该列数据是否为空,如果为空则返回true,否则返回false
数据库中的空NULL表示不知道,C#里面的空表示不指向任何对象,两者不是一个对象
数据库中的空转换到C#的时候,实际是DBNull类型的一个变量

每次在赋值的时候(引用类型方便考虑,主要是值类型转换的时候容易出错)
类型 变量 = reader.IsDBNull(index) ? 0或null : Convert.ToXXX(reader[index]);

posted on 2014-07-26 23:53  努力--坚持  阅读(1082)  评论(0)    收藏  举报