既然
sqldatareader.hasrows == true 
sqldatareader.reader() == true 
这时应该修改sql语句使返回为空,或者判断reader[0] is DBNull SqlDataReader.Read 方法

解决方案 »

  1.   

    你把你的查询语句贴出来看一下,正常来说,如果返回的是true,就说明查询结果有数据。但是查询有数据不等于表里面有数据。比如表Stock是空的,下面两句的结果就不一样//没有记录,HasRows返回false
    "SELECT * FROM Stock";
    //返回数据0,HasRows返回true
    "SELECT COUNT(*) FROM Stock";
      

  2.   

    sqldatareader.reader()是true正常,表示SQL语句执行成功
    至于sqldatareader.hasrows是true
    看看你到底读到了个什么东西啊
      

  3.   

    ..有数据列当然也有有标题列.......那两个为true只能说明sql执行成功而已...