,这是我难住的地方,当单击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模型来做的 采用的是三层架构...求大神解决啊
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模型来做的 采用的是三层架构...求大神解决啊
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
{
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();
}
}这是我保存按钮,不行啊 更新失败
{
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;