qq_32278415 2015-10-24 16:04 采纳率: 0%
浏览 1634

winform程序报错求助(判断查询结果是否为空)

小弟初学c#,写了一个数据查询的程序,分别用四个方法实现数据查询结果是否为空的判断,方法1和方法2都可以,但是方法三和方法四一直提示 “ 对象的当前状态使该操作无效”异常,请各位大侠给指点下,问题出在哪?

备注:1、oradr.GetString(0)))字段本人用控制台测试是能正确输出相关数据库字段信息的;
2、看到网上说这个错误一般是,数据超过1000条的缘故,但是这个用户数据库里面只有一条数据,所以我也有点头晕,还请各位指教,谢谢。

try
{
conn.Open();
sql = "select t.*, t.rowid from yonghu t";
OracleCommand oracom = new OracleCommand(sql,conn);
//OracleDataAdapter oraada=new OracleDataAdapter(oracom);
OracleDataReader oradr = oracom.ExecuteReader();

                //if (oradr.Read()==true)  //方法一
                //if (oradr.HasRows)   //方法二
                if (!string.IsNullOrEmpty(Convert.ToString( oradr.GetString(0)))) //方法三
                //if(oradr.IsDBNull(0))   //方法四
                {
                    MessageBox.Show("正确读到相关数据!");

                }
                else
                {
                    MessageBox.Show("查询数据为空");
                }
                conn.Close();
        }
        catch(Exception e)
                {
                    MessageBox.Show(e.Message);
                }
  • 写回答

1条回答 默认 最新

  • threenewbee 2015-10-24 16:09
    关注

    if (oradr.Read())
    这是最简单正确的方法。(oradr.Read()==true这种写法纯属啰嗦)

    三和四判断的不是记录为空,而是判断的是有一条记录,其中字段为空

    评论

报告相同问题?

悬赏问题

  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统