string connstring = "Server=192.168.0.100;Database=DataInfo;User Id=sa;Password=123";
string sql="select top 1 * from Users ";
SqlConnection conn = new  SqlConnection(connstring);
    SqlCommand myComm=new SqlCommand(sql,conn);
myComm.Connection.Open();
dr=myComm.ExecuteReader();
Label1.Text=dr["Company"].ToString();
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------在没有任何数据时进行无效的读取尝试。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。

解决方案 »

  1.   

    Label1.Text=dr["Company"].ToString();
    改成
    while(dr.Read())
    {
        Label1.Text=dr["Company"].ToString();
    }
    试试
      

  2.   

    if (dr.HasRows && dr.Read())
    {
        Label1.Text=dr["Company"].ToString();
    }
      

  3.   

    你用向导的方式能不能连接上数据库
    还要赋值的时候要加上判断 if (!= null )
      

  4.   

    你dr 怎么来的:
    添加:
    SqlDataReader  dr=myComm.ExecuteReader();
      

  5.   

    SqlDataReader  dr=myComm.ExecuteReader();
      

  6.   

    估计你的dr是一个DataRow对象出这个问题是因为没有取到数据,dr中没有实例化的东西,所以不能访问.
    应该在使用之前加个判断.以上的解释的前提是"dr=myComm.ExecuteReader();"这句话可以正确执行,并返回一条数据.否则就先换一种执行SQL,保存结果的方法了.
      

  7.   

    估计你Sql server忘记打开了
      

  8.   

    myComm.Connection.Open();  //连接能成功的话dr=myComm.ExecuteReader();dr.HasRows //再判断dr里面有无记录
    dr.Read() //先从服务器读取数据Label1.Text=dr["Company"].ToString();