请名位大侠看看这些代码错在什么地方啊,在调试的时候不出现任何的错误,但是在网页中运行的时候就出现了这样的错误"在位置0处不存在任何的行"
string uname=" "+Session["uname"];
        string strConnection=System.Configuration.ConfigurationSettings.AppSettings["connectionstring"].ToString();
SqlConnection conn=new SqlConnection(strConnection);
conn.Open();
string selectstr="select * from zhengming where sname='"+uname+"'";
SqlDataAdapter da=new SqlDataAdapter(selectstr,conn);
DataSet ds=new DataSet();
da.Fill(ds,"sname");
this.Label1.Text=ds.Tables[0].Rows[1]["sname"].ToString();

解决方案 »

  1.   

    da.Fill(ds,"sname");
    this.Label1.Text=ds.Tables["sname"].Rows[1]["sname"].ToString();
      

  2.   

    this.Label1.Text=ds.Tables[0].Rows[0]["sname"].ToString();
      

  3.   

    if(ds.Tables[0].Rows.Count > 1)
    {
       this.Label1.Text=ds.Tables[0].Rows[1]["sname"].ToString();//注意,这样取的是第二行的数据
    }
      

  4.   

    我按这种方式改了(if(ds.Tables[0].Rows.Count > 1)
    {
       this.Label1.Text=ds.Tables[0].Rows[1]["sname"].ToString();//注意,这样取的是第二行的数据
    }
    ),现在不报错了,但是label没有得到任何的值啊
      

  5.   

    那要看你从数据库里查询出来的结果到底有没有值
    而且上面取的是第二行的值
    如果你是想取第一行,就这样:
    if(ds.Tables[0].Rows.Count > 0)
    {
       this.Label1.Text=ds.Tables[0].Rows[0]["sname"].ToString();//注意,这样取的是第一行的数据
    }
      

  6.   

    都说了.
    将  this.Label1.Text=ds.Tables[0].Rows[1]["sname"].ToString();
    改为this.Label1.Text=ds.Tables[0].Rows[0]["sname"].ToString();
      

  7.   

    我是按你们说的方法改的,但是label还是没有得到值啊,也没有报错
      

  8.   

    如果你查询出来的结果集里本来就一条记录都没有
    label当然得不到值了