.NET 的 HasRows 到底有什么用啊,
我发现就算没有从数据库取到任何数据 (其实是NULL)
if(odr.HasRows) 也永远为真!

解决方案 »

  1.   

    HasRows属性 获取一个值,该值指示 SqlDataReader 是否包含一行或多行。
    如果 SqlDataReader 包含一行或多行,则为 true;否则为 false。
      

  2.   

    测试代码:
    string myConnString = "data source=.;uid=sa;pwd=;database=northwind";
    string mySelectQuery = "SELECT OrderID FROM Orders";
    SqlConnection myConnection = new SqlConnection(myConnString);
    SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
    myConnection.Open();
    SqlDataReader myReader;
    myReader = myCommand.ExecuteReader();

    if(myReader.HasRows) 
       {
    MessageBox.Show("yes");
       }
    else
       { 
    MessageBox.Show("no");
       }

    myReader.Close();

    myConnection.Close();//现在存在数据,返回yes;//当把查询语句换为:SELECT OrderID FROM Orders  where orderid = '1000' 
    //无数据返回,返回no;