完成登录用户密码修改界面的制作
搭建商超管理系统数据库环境
(1)快速搭建商超管理系统数据库SuperMarketSales:
方法:在数据库服务器上,新建SuperMarketSales数据库,并导入SuperMarketSales.sql脚本。
(2)编写修改用户密码的SQL语句,在Sql Server中验证
3. 实现密码修改界面的密码修改功能
编写密码修改界面密码修改功能代码:
(1)代码位置:
密码修改界面中“确定”按钮单击事件对应方法中。
(2)数据修改代码:
基于ADO .NET数据库数据修改并返回结果实现。
(3)界面易用性提升代码:
发挥各位的想象力。
名称 | 说明 | |
---|---|---|
属性 | Connection | Command对象使用的数据库连接 |
属性 | CommandText | 执行的SQL语句 |
属性 | CommandTimeout | 终止执行命令生成错误之前的等待时间,初始值30 |
方法 | ExecuteNonQuery() | 返回值:执行该命令受影响的行数 |
方法 | ExecuteReader() | 执行查询命令 |
方法 | ExecuteScalar() | 返回单个值,如执行COUNT(*) |
SqlCommand类对象的常用属性和方法
名称 | 说明 | |
---|---|---|
属性 | Connection | Command对象使用的数据库连接 |
属性 | CommandText | 执行的SQL语句 |
属性 | CommandTimeout | 终止执行命令生成错误之前的等待时间,初始值30 |
方法 | ExecuteNonQuery() | 返回值:执行该命令受影响的行数 |
方法 | ExecuteReader() | 执行查询命令 |
方法 | ExecuteScalar() | 返回单个值,如执行COUNT(*) |
具体步骤:
- 导入命名空间;
- 定义数据库连接字符串,运用Connection对象建立与数据库连接;
- 打开连接;
- 利用Command对象的ExecuteNoQuery()方法执行Update语句;
- 通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;
- 关闭连接。
4. 编程更新数据库
String userName = this.tb_User.Text.Trim();
String newPwd = this.tb_NewPwd.Text.Trim();
String confPwd = this.tb_ConfirmPwd.Text.Trim();
// 验证输入信息
if (newPwd.Equals(""))
{
MessageBox.Show("请输入新密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else if (confPwd.Equals(""))
{
MessageBox.Show("请输入确认密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else if (newPwd != confPwd)
{
MessageBox.Show("两次密码不一致", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
// 连接字符串,注意与实际环境保持一致
String connStr = "Data Source=.;Initial Catalog=SuperMarketSales;Integrated Security=True";
SqlConnection sqlConn = new SqlConnection(connStr);
try
{
// 连接数据库
sqlConn.Open();
// 构造UPDATE命令
String sqlStr = "update EMPLOYEE set PASSWORD=@pwd where ID=@id";
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
// SQL字符串参数赋值
cmd.Parameters.Add(new SqlParameter("@pwd", newPwd));
cmd.Parameters.Add(new SqlParameter("@id", UserInfo.userId));
// 将命令发送给数据库
int res = cmd.ExecuteNonQuery();
// 根据返回值判断是否修改成功
if (res != 0)
{
MessageBox.Show("密码修改成功");
this.Close();
}
else
{
MessageBox.Show("密码修改错误");
}
}
catch (Exception exp)
{
MessageBox.Show("访问数据库错误:" + exp.Message);
}
finally
{
sqlConn.Close();
}