,这是我难住的地方,当单击datagridview任何一个单元格时,数据显示在对应textbox里,textbox的内容是通过这些代码完成的
 private void dgvuser_CellClick(object sender, DataGridViewCellEventArgs e)
        {
          BLL.User u = new BLL.User();
         Model.User user = u.GetModel(int.Parse(dgvuser.Rows[e.RowIndex].Cells[0].Value.ToString()));
        if (user != null) 
          {
     
            txtid.Text = user.Id.ToString();
              txtusername.Text = user.UserName;
              txtpwd.Text = user.UserPWD;
              txtconfirmpwd.Text = user.UserPWD;
              btnsave.Enabled = true;
            
      }      }我做出来了,我想更改textbox内容更新到数据去,并同步到datagridview显示,怎么做啊?我是把数据库表的内容model模型来做的 采用的是三层架构...求大神解决啊

解决方案 »

  1.   

    我已经写了更新方法了        #region            根据ID修改数据
                public bool UpdateUser(Model.User u )
                {
                SqlConnection cn=helper.GetSQLConnection();
                string strcmd="select * from tbl_user where id=@id";
                SqlCommand cmd=new SqlCommand(strcmd,cn);
                cmd.Parameters.Add("id",SqlDbType.Int);
                cmd.Parameters["id"].Value = u.Id;
                if (cn.State != ConnectionState.Open) ;      
                cn.Open();    
                SqlDataReader dr =cmd.ExecuteReader();
                if(dr.Read())
                {
                //说明已找到该用户,可以更新
                SqlCommand updatecmd=new SqlCommand("update tbl_user set UserID=@UName,UserPWD=@UPwd where id=@id",cn);
                    updatecmd.Parameters.Add("UName",SqlDbType.VarChar,50);
                    updatecmd.Parameters["UName"].Value=u.UserName;
                    updatecmd.Parameters.Add("UPwd",SqlDbType.VarChar,50);
                    updatecmd.Parameters["UPwd"].Value=u.UserPWD;
                    updatecmd.Parameters.Add("id",SqlDbType.Int);
                    updatecmd.Parameters["id"].Value=u.Id;
                    return updatecmd.ExecuteNonQuery()>0;
                }else
                {
                    //给用户不存在
                    return false;
                }
                }
             #endregion
      

  2.   

    重新绑定一次gridview就可以啊
      

  3.   

    关键更新不到数据库去,我调用了更新方法更新不到数据库去啊,怎么调用?        private void btnsave_Click(object sender, EventArgs e)
            {
                Model.User user = new Model.User();        
               if (txtpwd.Text.Equals(txtconfirmpwd.Text))
              {
                 user.UserName = txtusername.Text.ToString(); ;
                user.UserPWD = txtpwd.Text.ToString(); ;
                 BLL.User UBLL = new BLL.User();
                if (UBLL.UpdateUser(user))
                  {
                     
                    MessageBox.Show("更新成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                }
                 else
                 {
                     MessageBox.Show("更新失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                 }
              }
             else
               {
                 MessageBox.Show("密码不一致请重新输入");
                   txtpwd.Focus();
                  txtpwd.SelectAll();
           }
              
            }这是我保存按钮,不行啊 更新失败
      

  4.   

    if (txtpwd.Text.Equals(txtconfirmpwd.Text))
              {
                 user.UserName = txtusername.Text.ToString(); ;
                user.UserPWD = txtpwd.Text.ToString(); 
                user.Id=赋值;
                 BLL.User UBLL = new BLL.User();;你的id没赋值,怎么能够更新进去呢?仔细点啊 string strcmd="select * from tbl_user where id=@id";
                SqlCommand cmd=new SqlCommand(strcmd,cn);
                cmd.Parameters.Add("id",SqlDbType.Int);
                cmd.Parameters["id"].Value = u.Id;