1.贴效果图,最好是GIF文件
2.描述画面主要功能,并列出支持这些功能的后台数据库表结构
窗口加载时,默认角色为“收银员”,输入用户名密码,点击“登录”按钮则登录系统,用户名密码正确登录成功,反之登录失败。
字段名称 | 类型 | 说明 |
---|---|---|
ID | int | 用户名,为Primary Key |
NAME | Varchar(50) | 姓名 |
Password | Varchar(50) | 密码 |
Phone | Varchar(15) | 电话 |
3.ADO.NET查询数据库的流程
①建立数据库连接
②创建SQL 命令
③执行SQL命令
④处理SQL命令结果
4.贴入重要代码片段,并进行详细描述
// 窗口加载时,设置默认角色为“收银员”
private void frm_Login_Load(object sender, EventArgs e)
{
// 设置收银员为默认登录类型
this.cbb_UserType.SelectedIndex = 0;
// 禁止Tab键停留到LinkLabel上
this.ll_Register.TabStop = false;
this.ll_Forget.TabStop = false;
}
// 点击“登录”按钮则登录系统
private void bt_Login_Click(object sender, EventArgs e)
{
String connStr = "Data Source=.;Initial Catalog=SuperMarketSales;Integrated Security=True";
SqlConnection sqlConn = new SqlConnection(connStr);
try
{
sqlConn.Open();
String sqlStr = "";
if (this.cbb_UserType.Text == "收银员")
{
// 注意USER是SQL Server关键字,表名不能命名为USER,而应当用USERS
sqlStr = "select * from USERS where ID=@id and PASSWORD=@pwd";
}
else
{
sqlStr = "select * from ADMIN where ID=@id and PASSWORD=@pwd";
}
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
// 点击“退出”按钮则退出应用程序
private void bt_Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}
// 在用户名输入框中按“回车”,光标跳转到密码输入框
private void tb_User_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
SendKeys.Send("{tab}");
}
}
// 在密码输入框中按“回车”,则直接登录
private void tb_Password_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
this.bt_Login_Click(sender, e);
}
}
// Tab进入用户名输入框时,自动全选用户名
private void tb_User_Enter(object sender, EventArgs e)
{
((TextBox)sender).SelectAll();
}
// Tab进入密码输入框时,自动全选密码
private void tb_Password_Enter(object sender, EventArgs e)
{
((TextBox)sender).SelectAll();
}