if( dt == null || dt.Rows == null || dt.Rows.Count <= 0 || dt.Rows[0][0] == null || string.IsNullOrEmpty( dt.Rows[0][0].ToString() ) )
这个代码有一个问题,结果集的列数是0会报错。你要是还觉得不保险,就把dt.Columns的判断也加上。
当行数大于0的时候开始判断,没有行数的时候不判断就不会有错了。
照我样这写就不存在ToString() 强转空指针异常
if (dt.Rows.Count != 0)//判断是否是数据
{
if (!string.IsNullOrEmpty(Convert.ToString(dt.Rows[0][0])))//判断是否是空值
{
//安全得到不为空的值
}
}
你可以判断dt有没有行数
如判断行数是否大于0 if( dt.rows.count > 0){...}
或者 if(dt.rows[0][0] == null || dt.rows[0][0]==""){...}