首页 > 学院 > 开发设计 > 正文

C#之MySql更新

2019-11-11 05:07:34
字体:
来源:转载
供稿:网友

1.接着前面的往下做,主要逻辑:当双击某一行时,右侧的文本框和单选按钮将会显示对应的值,添加按钮将会变成【修改】。UserForm中添加事件

PRivate void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { //双击一行,给对应文本框赋值 // 获取双击的行 var currentRow=dataGridView1.Rows[e.RowIndex]; tbUserNo.Text = currentRow.Cells[0].Value.ToString(); tbUserName.Text = currentRow.Cells[1].Value.ToString(); tbUserPwd.Text = currentRow.Cells[2].Value.ToString(); if (currentRow.Cells[3].Value.ToString() == "1") { rbClerk.Checked = true; } else { rbManager.Checked = true; } btnAdd.Text = "修改"; // tbUserName.ReadOnly = true; }

这里写图片描述

2.和之前一样,更新操作不返回任何数据,我们只需要一个标识以确认是否更新,sqlHelper可以重用一个函数。sqlHelper类库中添加

public static int update(string sql, params MySQLParameter[] ps) { using (MySqlConnection myCon = new MySqlConnection(conStr)) { MySqlCommand cmd = new MySqlCommand(sql, myCon); cmd.Parameters.AddRange(ps); myCon.Open(); return cmd.ExecuteNonQuery(); } }

3.在UserForm中添加一个update方法,返回一个bool值,为true的话则修改成功。同时对添加按钮触发的事件进行更改。如果按钮的文本值是【添加】则进行新增操作,若是【修改】则进行更新操作,调用update方法。

private bool update(User u) { string sql = "update user set user_name=@uName,user_pwd=@uPwd,type=@uType where user_no=@uNo"; MySqlParameter[] list ={ new MySqlParameter("@uName", u.user_name), new MySqlParameter("@uPwd", u.user_pwd), new MySqlParameter("@uType", u.type), new MySqlParameter("@uNo", u.user_no) }; //第二种写法 /*List<MySqlParameter> list = new List<MySqlParameter>(); list.Add(new MySqlParameter("@uName", u.user_name)); list.Add(new MySqlParameter("@uPwd", u.user_pwd)); list.Add(new MySqlParameter("@uType", u.type)); list.Add(new MySqlParameter("@uNo", u.user_no)); return SqlHelper.helper.update(sql, list.ToArray())>0; */ return SqlHelper.helper.update(sql, list)>0; }private void btnAdd_Click(object sender, EventArgs e) { if (btnAdd.Text == "添加") { User user = new User() { user_name = tbUserName.Text, user_pwd = tbUserPwd.Text, type = rbClerk.Checked ? 1 : 0 }; if (AddUser(user)) { LoadUser(); MessageBox.Show("新增成功"); } else { MessageBox.Show("新增失败,请重新尝试"); } this.tbUserName.Text = this.tbUserPwd.Text = string.Empty; this.rbClerk.Checked = this.rbManager.Checked = false; } else { User user = new User() { user_no=Convert.ToInt32(tbUserNo.Text), user_name = tbUserName.Text, user_pwd = tbUserPwd.Text, type = rbClerk.Checked ? 1 : 0 }; if (update(user)) { MessageBox.Show("修改成功"); btnClear_Click(null, null); LoadUser(); } else { MessageBox.Show("修改失败"); } } }

把kaven的密码修改为123456,类型改为经理。

这里写图片描述

修改之前的信息

这里写图片描述

修改之后的信息

这里写图片描述 这里写图片描述


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表