代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

您现在的位置是:首页>_C#

出现未将对象引用设置到对象的实例异常

发布时间:2019-11-22浏览(2038)

    出现未将对象引用设置到对象的实例错误?
    我想先把用户信息先绑定,再进行修改,可总出现出现未将对象引用设置到对象的实例错误,大家帮忙看一下这是什么意思
    protected void Page_Load(object sender, EventArgs e)
      { 
       
      if (!IsPostBack)
      {
      string str=Convert.ToString (Session["UserName"]);

      DataTable dt = user.GetInformationByName(str);
       
      this.lblpno.Text = dt.Rows[0][0].ToString();

      this.lbltruename.Text = dt.Rows[0][1].ToString();

      this.lblsex.Text = dt.Rows[0][2].ToString();
      this.lbldepartment.Text = dt.Rows[0][3].ToString();

      this.lblclassno.Text = dt.Rows[0][4].ToString();
      this.txtemail.Text = dt.Rows[0][5].ToString();

      this.lblrole1.Text = dt.Rows[0][6].ToString();
       
      }}
       
    其中函数GetInformationByName()是这样子的:
      public static DataTable GetInformationByName(string UserName)
      {
      SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
      string strQuery = "selcet Pno,TrueName,sex,Department,ClassNo,Email,role1 from Users where UserName=" + UserName ;

      try
      {
      SqlDataAdapter myDA = new SqlDataAdapter(strQuery, myConnection);
      DataSet myDS = new DataSet();
      myDA.Fill(myDS, "Users");
      return myDS.Tables["Users"];
      }
      catch (Exception ex)
      {

      return null;
      }
      }
       
       
       
      运行后总出现上述错误,我感觉代码没错呀,就是不知道哪的问题? 
     

    ------解决方案--------------------
    C# code
    
    protected void Page_Load(object sender, EventArgs e) 
        {  
            
              if (!IsPostBack) 
              { 
              string str=Convert.ToString (Session["UserName"]); 
    
              DataTable dt = user.GetInformationByName(str); 
              if(dt!=null)//如果不为空则设置
    {
                  this.lblpno.Text = dt.Rows[0][0].ToString(); 
    
                  this.lbltruename.Text = dt.Rows[0][1].ToString(); 
    
                  this.lblsex.Text = dt.Rows[0][2].ToString(); 
                  this.lbldepartment.Text = dt.Rows[0][3].ToString(); 
    
                  this.lblclassno.Text = dt.Rows[0][4].ToString(); 
                  this.txtemail.Text = dt.Rows[0][5].ToString(); 
    
                  this.lblrole1.Text = dt.Rows[0][6].ToString(); 
              }
              }
    }
    
    ------解决方案--------------------
    C# code
    
              if (!IsPostBack) 
              { 
                  if(Session["UserName"] != null)
                      string str=Convert.ToString (Session["UserName"]); 
    
                  DataTable dt = user.GetInformationByName(str); 
              
                  if(dt != null || dt.Rows.Count > 0)
                  {
                      this.lblpno.Text = (dt.Rows[0][0]!=null?dt.Rows[0][0].ToString():""); 
    
                      this.lbltruename.Text = dt.Rows[0][1]!=null?dt.Rows[0][1].ToString():"");
    
                    this.lblsex.Text = dt.Rows[0][2]!=null?dt.Rows[0][2].ToString():"");           this.lbldepartment.Text = dt.Rows[0][3]!=null?dt.Rows[0][3].ToString():"");
    
                      this.lblclassno.Text = dt.Rows[0][4]!=null?dt.Rows[0][4].ToString():"");
                      this.txtemail.Text = dt.Rows[0][5]!=null?dt.Rows[0][5].ToString():"");
    
                      this.lblrole1.Text = dt.Rows[0][6]!=null?dt.Rows[0][6].ToString():"");
                  }
              
              }}