我想通过DataTable去把用户的信息绑定到Lable和texbox控件中,却不能取到DataTable值,
          if (!IsPostBack)
          {user mydb = new user();              string UserName=Session["UserName"].tostring();
              DataTable dt = user.GetInformationByName(UserName);
           if (dt != null)
           {
               Response.Write(dt.Rows [1][1]);
               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; 
        } 
    } 

解决方案 »

  1.   

    调试...看看你的DataSet里面有东西没有.
      

  2.   

    字符串好像要单引号的吧
    UserName='" + UserName + "'";  
      

  3.   


     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 ;  
    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;  
            }  
        } 
      

  4.   

    看下DataTable里有没有内容,要是有就该能取到,要是去不到可以试用DataTableReader读取下怎么样
      

  5.   

    SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"].ConnectionString); 
      

  6.   

    string strQuery = "select.... from Users where UserName='" + UserName+"'" ;
      

  7.   

    change if (dt != null)  to if (dt.Count != 0)