数据库中的null和字符串中的null是不同类型的值,当读取时不能直接赋值。
DataReader类封装了一个方法IsDBNull()来判断值是不是数据库中的空(null)值;
DataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
int number = (reader.IsDBNull(0)) ? 0:reader.GetInt32(0);
string str = (reader.IsDBNull(1)) ? "无" : reader.GetString(1);
}