SqlDataReader 读取数据库为空时,如何处理?
例如SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()){xxx=dr["XXX"].ToString();}我只想读取一个...
例如
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
xxx = dr["XXX"].ToString();
}
我只想读取一个数据,所以用if就行不用循环,但是如果如果dr没有读到数据,不是空值,而是按照SQL语句没有检索到符合约束的数据,这个时候怎么处理?程序提示越界异常(
IndexOutOfRangeException)
TO lyws518:我也感觉没描述清楚,但是还是有人能理解……HoHo……
TO 339340873 && zrj531::为什么我经常看到示例没有对HasRows进行判断啊?直接都是Read()
****************************************************************************************
刚才调试了下,dr里有数据也提示IndexOutOfRange错误……使用方式如上述例子,后来我改成dr.GetInt32(0).ToString()就行了……这是为什么呢? 展开
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
xxx = dr["XXX"].ToString();
}
我只想读取一个数据,所以用if就行不用循环,但是如果如果dr没有读到数据,不是空值,而是按照SQL语句没有检索到符合约束的数据,这个时候怎么处理?程序提示越界异常(
IndexOutOfRangeException)
TO lyws518:我也感觉没描述清楚,但是还是有人能理解……HoHo……
TO 339340873 && zrj531::为什么我经常看到示例没有对HasRows进行判断啊?直接都是Read()
****************************************************************************************
刚才调试了下,dr里有数据也提示IndexOutOfRange错误……使用方式如上述例子,后来我改成dr.GetInt32(0).ToString()就行了……这是为什么呢? 展开
展开全部
可以利用一个TYR CATCH 来实现,用throw来抛出问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用dr.hasRows判断一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(dr!=null&&dr.HasRows&&dr.Read())
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL语句没有满足条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询