鉴于大家对VC与C++类别十分关注,我们编辑小组在此为大家搜集整理了“基于VC汇编语言试题库管理系统”一文,供大家参考学习!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn | ||||||||||||||||||||
5.1 系统登录 系统登录,是系统安全的关口,可以限制没有操作权限的用户对系统的重要信息的更改,所以在登录窗口中要对用户的合法性进行检查,还要对用户的权限进行确定。 所以要在用户输入用户名和密码后,查询数据库来确认用户合法性,和赋予用户对应的权限,关于用户的权限和用户信息都放在表:user_stu:
用户登录界面要简洁明了,其中的图片是要从外部引入,效果如下: 对应的对话框要接受用户名和密码,然后查询数据库表,来进行确认,并读取user_admi字段来设定用户的权限。如果,没有通过确认,则提示用户:用户名或密码有错。本对话框为了更容易操作,在登录对话框的初始化中把用户表中的用户名读取出来,放到用户名栏(接受用户名的控件是一个可以下拉的组合框);对应对话框的的控件绑定的变量如下: 给对话框的 登录 按钮添加消息响应函数:OnOk();为对话框添加初始化函数:OnInitDialog(); 实现代码如下: BOOL CLoginDlg::OnInitDialog() { CDialog::OnInitDialog(); CDStrs m_name; CString strSQL; UpdateData(TRUE); //strSQL.Format("select * from password where user=''%s'' AND passwd=''%s''",m_strUser,m_strPass); strSQL="select stuid from user_stu"; g_odbcDB.ExecuteQuery(strSQL,m_name); for(int i=0;i<m_name.size();i++) { CStrs strs=m_name[i]; m_ctrlUser.AddString(strs[0]); // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CLoginDlg::OnOK() { // TODO: Add extra validation here CDStrs value; CString strSQL; CTestingApp* ptheApp = (CTestingApp *) AfxGetApp(); UpdateData(TRUE); //检查用户名是否输入 if(m_strUser.IsEmpty()) { AfxMessageBox("请输入用户名!"); m_ctrlUser.SetFocus(); return; } if(m_strPwd.IsEmpty()) { AfxMessageBox("请输入密码!"); m_strlPwd.SetFocus(); return; } //从用户表中检查用户名密码是否正确 strSQL.Format("select * from user_stu where stuid=''%s'' AND stupwd=''%s''",m_strUser,m_strPwd); g_odbcDB.ExecuteQuery(strSQL,value); if(value.size()==0) { //密码错误处理 MessageBox("密码错误,请重新输入"); m_strPwd=""; m_strlPwd.SetFocus(); UpdateData(FALSE); } else { //分配用户权限 if(value[0][3]=="0") ptheApp->m_bIsAdmin = FALSE; else ptheApp->m_bIsAdmin = TRUE; Userid=m_strUser; CStrs strs; CDStrs strShijName; strSQL.Format("select shijname from chengj_tab where stuid=''%s'' and handup=''no'' ",Userid); g_odbcDB.ExecuteQuery(strSQL,strShijName); if(strShijName.size()!=0) { HavEx=TRUE; } else { HavEx=FALSE; } CDialog::OnOK(); } }
| ||||||||||||||||||||
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT | ||||||||||||||||||||
本文选自计算机毕业设计http://myeducs.cn |