2018-12-18

2018-12-18  本文已影响0人  2017270371

《2.5 登录用户验证功能设计》具体要求:

1. 贴效果图,最好是GIF文件

2. 描述画面主要功能,并列出支持这些功能的后台数据库表结构

主要功能:验证用户登录

表结构:  收银员表:工号(主键),姓名,密码,电话  库管员表:工号(主键),姓名,密码,电话

3. ADO.NET查询数据库的流程

方法一

导入命名空间;

运用Connection对象建立与数据库连接;

打开连接;

利用Command对象的ExecuteReader()方法执行Select查询语句;

利用ExecuteReader()方法返回的DataReader对象读取数据,显示到界面上;

关闭连接。

方法二

通过Connection对象建立与数据库的连接

利用Command对象执行SQL语句或存储过程

.通过DataReader对象将Command对象执行SQL语句查询后的具体数据从数据库中一条一条读取到DaraReader对象中

在客户端将数据呈现出来

4. 贴入重要代码片段,并进行详细描述

//连接数据库

sqlConn.Open();

String SqlStr = "";

if (this.comboBox1.Text == "收银员")

{

//注意USER是SQL Sever关键字,表名不能命名为USER,而应当用USERS

SqlStr = "select * from EMPLOYEE where ID=@id and  password=@pwd";

}

else

{

SqlStr = "select * from EMPLOYEE where ID=@id and  password=@pwd";

}

//执行SQL语句

SqlCommand cmd = new SqlCommand(SqlStr,sqlConn);

//为SQL语句中的参数赋值

cmd.Parameters.Add(new SqlParameter("@id", this.textBox1.Text.Trim()));

cmd.Parameters.Add(new SqlParameter("@pwd", this.textBox2.Text.Trim()));

SqlDataReader dr = cmd.ExecuteReader();

// 如果从数据库中查询到记录,则表示可以登录

if (dr.HasRows)

{

dr.Read();

//将数据库中的字段赋值给C#中的参数

userid = dr["id"].ToString();

String userName = dr["name"].ToString();

String userPwd = dr["password"].ToString();

String userPhone = dr["tel"].ToString();

String userType = this.comboBox1.Text;

MessageBox.Show(userType + "登录成功");

// 处理登录,判断用户类型

if (userType == "收银员")

{

//MessageBox.Show("登录成功123");

// 显示收银员主界面

Form3 formUser = new Form3();

formUser.Show();

// 隐藏登录界面

this.Hide();

}

if (userType == "经理")

{

// 显示经理主界面

Form2 formAdmin = new Form2();

formAdmin.Show();

// 隐藏登录界面

this.Hide();

}

}

《2.6 密码修改界面功能设计》具体要求:

1. 贴效果图,最好是GIF文件

2. 描述画面主要功能,并列出支持这些功能的后台数据库表结构

用户名直接显示不能更改,输入新密码,再确认密码,两次一样才能确定更改成功

图片8.png

3. ADO.NET更新数据库的流程

导入命名空间;

定义数据库连接字符串,运用Connection对象建立与数据库连接;

打开连接;

利用Command对象的ExecuteNoQuery()方法执行Update语句;

通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;

关闭连接

4. 贴入重要代码片段,并进行详细描述

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;

}

// 连接字符串,注意与实际环境保持一致

stringconnStr = "Data Source=.;Initial Catalog=ldz2017270397;Integrated Security=True";

SqlConnectionsqlConn = new SqlConnection(connStr);

try

{

//连接数据库

sqlConn.Open();

// 构造UPDATE命令

StringsqlStr = "update EMPLOYEE set password=@pwd where id=@id";

SqlCommandcmd = new SqlCommand(sqlStr, sqlConn);

// SQL字符串参数赋值

cmd.Parameters.Add(new SqlParameter("@pwd", newPwd));

cmd.Parameters.Add(new SqlParameter("@id", userName));

// 将命令发送给数据库

intres = cmd.ExecuteNonQuery();

// 根据返回值判断是否修改成功

if(res != 0)

{

MessageBox.Show("密码修改成功");

this.Close();

}

else

{

MessageBox.Show("密码修改错误");

}

上一篇 下一篇

猜你喜欢

热点阅读