简单介绍:此项目为C#的windows图形界面化的银行保险系统。
在项目中载入数据库,然后实例化数据库,用对象来获取数据库中表的内容,然后载入相应的标签中。
关于数据的载入后续会再出一篇文章提到。
使用者是保险公司的操作人员,分为以下4种角色,包括:承保保单录入人员、理赔案件复核人员、数据查询统计人员以及超级管理员,不同角色的人看到不同的操作页面
一 、登录界面
1.取消 实现将输入框的内容清空
注意:所有的方法在双击后都会自动生成。t_user等为标签的name值,有需求的标签最好在添加时便修改其name值,这样可以方便后续的功能实现。
private void button2_Click(object sender, EventArgs e)
{
t_user.Text = "";
t_password.Text = "";
}
2.登录 实现账号和密码不能为空的验证,密码的加密
private void button1_Click(object sender, EventArgs e)
{
//获取用户的输入值
name = t_user.Text.ToString();
String pwd = t_password.Text.ToString();
if (String.IsNullOrEmpty(name) || String.IsNullOrEmpty(pwd))
{
MessageBox.Show("用户名或密码为空!!");
return;
}
//对密码进行加密
pwd = getHash(pwd);
//从用户表 t_oper 拿到对应的用户数据放入List集合中
List<t_oper> to = ae.t_oper.Where(t=>t.oper_no == name && t.password == pwd).ToList();
//判断是否存在输入的用户
if (to.Count > 0)
{
//用户存在 拿到对应用户名的数据集合
t_role_oper tro = ae.t_role_oper.Where(t => t.oper_no == name).First();
//将用户名 和 对应的用户权限传递给下一个窗体
Form1 f = new Form1(name,tro.role_no);
//当前窗体进行隐藏
this.Hide();
//展示新窗体
f.Show();
}
else
{
MessageBox.Show("用户名或密码错误!");
}
}
2.1 密码加密方法
private String getHash(String text)
{
byte[] b = System.Text.Encoding.UTF8.GetBytes(text);
SHA256 sha256 = new SHA256CryptoServiceProvider();
b = sha256.ComputeHash(b);
StringBuilder sb = new StringBuilder();
foreach (byte i in b)
{
sb.Append(i.ToString("x2"));
}
return sb.ToString();
}
附部分数据表截图:
1.t_oper
2.t_role_oper