问题如下:
在查询数据的SQL语句中只产生一列Max值时,如果该列没有数据,Max执行后会产生一个空值“null”,存在一行数据。此时通过DataReader对象的HasRows属性判断是否有数据行会出现异常,但用Reader()方法来判断可以通过。(同样Count、Avg等在这种情况下也会出现这个异常)请高手指教一下为什么?谢谢!
在查询数据的SQL语句中只产生一列Max值时,如果该列没有数据,Max执行后会产生一个空值“null”,存在一行数据。此时通过DataReader对象的HasRows属性判断是否有数据行会出现异常,但用Reader()方法来判断可以通过。(同样Count、Avg等在这种情况下也会出现这个异常)请高手指教一下为什么?谢谢!
解决方案 »
- 求教:有一个Student类,从SQLSERVER数据库中读取多个值包括名字班级等等
- 在窗体上画好的线,窗体缩小再展开或者线被挡住,线就不见了?
- 生成静态 生成速度。
- 更新数据库时,如何确定进度条的长度
- 关于windows media player的请高手指点
- 将这个控件拖出来使之成为浮动工具栏,能帮帮我吗?
- 如何把字符串转换为条件表达式???
- 【提问】请问,如何制作透明背景的图标?
- 跪求:面向对象设计与结构化程序设计的区别???在线等.............................
- vs2005WinForm DataGridView中选择指定的单元格
- 如何实现标准与实测值比较
- 帮忙解释下一个交换数据的方法
DataReader["KEY"]
str_max = "select max(ma) from (select dxdy,count(*) ma from table group by dxdy)";
OracleCommand cmd_max = new OracleCommand(str_max, conn);
OracleDataReader dr_max = cmd_max.ExecuteReader()
if (!dr_max.HasRows)
d_max = 0;
else
d_max = int.Parse(cmd_max.ExecuteOracleScalar().ToString());
if(!dr_max.Read())
d_max=0;
else
if(dr_max.isDBNull(0)=="Null");
d_max=0;
else
d_max=int.Parse(dr_max[0].ToString());