窗体Load事件:
        {
            string str = "select 昵称 from 用户详细_T where 账号='" + Account + "'";
            string str_cellName = "昵称";
            string name=null;
            GetUserName(str,name,str_cellName);
            lblUser.Text = name;
        }
        /// <summary>
        /// 获取用户名
        /// </summary>
        private void GetUserName(string str,string name, string cellName)
        { 
                SqlCommand comm;
                SqlConnection conn = MyF.GetSqlconnection();
                comm = new SqlCommand(str, conn);
                DataSet ds = new DataSet();
                conn.Open();
                SqlDataAdapter oda = new SqlDataAdapter(str, conn);
                oda.Fill(ds);
                DataTable dt = ds.Tables[0];
                name = dt.Rows[0][cellName].ToString();    
        }
为什么无法给lblUser.Text 赋值呢?求教!!!

解决方案 »

  1.   

    要用ref传引用才可以,或者out也可以窗体Load事件:
      {
      string str = "select 昵称 from 用户详细_T where 账号='" + Account + "'";
      string str_cellName = "昵称";
      string name=null;
      GetUserName(str,ref name,str_cellName);
      lblUser.Text = name;
      }private void GetUserName(string str,ref string name, string cellName)
      {  
      SqlCommand comm;
      SqlConnection conn = MyF.GetSqlconnection();
      comm = new SqlCommand(str, conn);
      DataSet ds = new DataSet();
      conn.Open();
      SqlDataAdapter oda = new SqlDataAdapter(str, conn);
      oda.Fill(ds);
      DataTable dt = ds.Tables[0];
      name = dt.Rows[0][cellName].ToString();   
      }
      

  2.   

    直接在方法GetUserName(string str,string name, string cellName)里面写
    lblUser.Text = dt.Rows[0][cellName].ToString();是可以赋值的,但是这样相似的代码就会出现很多。有没有办法解决这个问题啊??谢谢
      

  3.   

    窗体Load事件:
      {
      string str = "select 昵称 from 用户详细_T where 账号='" + Account + "'";
      string str_cellName = "昵称";
      string name=null;
      lblUser.Text=GetUserName(str,name,str_cellName);
      }
      /// <summary>
      /// 获取用户名
      /// </summary>
      private string GetUserName(string str,string name, string cellName)
      {  
      SqlCommand comm;
      SqlConnection conn = MyF.GetSqlconnection();
      comm = new SqlCommand(str, conn);
      DataSet ds = new DataSet();
      conn.Open();
      SqlDataAdapter oda = new SqlDataAdapter(str, conn);
      oda.Fill(ds);
      DataTable dt = ds.Tables[0];
      name = dt.Rows[0][cellName].ToString(); 
      return   name;
      }