台球厅收费管理系统计算机课程设计(编辑修改稿)内容摘要:

immediately before the previous line. endif // !defined(AFX_USERINFOMANAGEDLG_H__CA082AD8_E557_41FF_AC2D_FF8338248450__INCLUDED_) 在 用户管理对话框运行时,先对数据库进行查询,显示 Admin 表中所有的用户信息,包 括 用 户 名 、 密 码 、 权 限 类 别 和 权 限 描 述。 利 用 初 始 化 函 数 BOOL CUserInfoManageDlg::OnInitDialog() 对 ListControl 控件 进行初始的描绘;并通过查询数据库获得用户信息,显示在 ListControl 控件中。 具体实现代码如下: BOOL CUserInfoManageDlg::OnInitDialog() { CDialog::OnInitDialog()。 (0,用户名 )。 (1,密码 )。 (2,用户权限 )。 (3,用户身份 )。 // 向 ListControl 控件中添加表头 RECT rectList。 (amp。 rectList)。 int wid=。 for(int i=0。 i4。 i++) (i,wid/4)。 //计算每一列的宽度,这里采用的均分列宽 (LVS_EX_FULLROWSELECT)。 RefreshList()。 (管理员 )。 (操作员 )。 //动态给 Combobox 控件添加信息 ResetButton()。 return TRUE。 } void CUserInfoManageDlg::RefreshList() { UpdateData()。 ()。 //ListControl 控件中删除旧的数据 ()。 =Type=39。 039。 or Type=39。 139。 ()。 //重新查询 for(int i=0。 i()。 i++) //查询的结果依次插入到 ListControl控19 件中 { CString temp。 (UID,temp)。 (i,temp)。 (PWD,temp)。 (i,1,temp)。 (Type,temp)。 (i,2,temp)。 (Exp,temp)。 (i,3,temp)。 //插入一条记录 ()。 //数据集合指针下移一位 } UpdateData(false)。 ()。 } void CUserInfoManageDlg::ResetButton() { (false)。 (false)。 (false)。 //设置 Edit 框和 Combobox 是否可用 (false)。 (true)。 (true)。 (true)。 //设置各个按钮是否可用 } 用户信息不仅仅可以查询,还应该可以添加、修改或者删除信息。 因此UserInfoManageDlg 类中设计的函数包含添加信息函数( OnBTNUserAdd)、修改信息函数( OnBTNUserUpdata)、删除信息函数( OnBTNUserDelete)等。 另外的两个函数分别是设计确定( OnBtnOk)和取消( OnBtnCancel)按钮的函数。 以下是实现这几个函数 的代码: 添加信息函数( OnBTNUserAdd)代码如下: void CUserInfoManageDlg::OnBTNUserAdd() { // TODO: Add your control notification handler code here (true)。 ()。 (true)。 ()。 (true)。 (1,管理员 )。 //控件可用,可用输入 ()。 ()。 (false)。 (false)。 20 (false)。 (true)。 (true)。 //按钮可用状态 } 修改信息时,需要先在 ListControl 控件中,选定需要修改的一个用户名,然后只有其密码和权限类型可以修改,用户名是不能修改的,函数( OnBTNUserUpdata)代码如下: void CUserInfoManageDlg::OnBTNUserUpdate() { // TODO: Add your control notification handler code here int row=()。 //获得选中的那一行 CString uid,strSQL。 uid=(row,0)。 //List 第 0 列,即 UID 用户名,取出赋值给 uid if(uid==) { MessageBox(请选择一行。 )。 } else { (UID=39。 %s39。 ,uid)。 ()。 =strSQL。 ()。 ()。 (true)。 (false)。 (false)。 (false)。 //设置按钮是否可用 (true)。 (true)。 (true)。 } } void CUserInfoManageDlg::OnBtnOk()//修改完毕,点击 OK 按钮修改成功 ,下面是 OK 按钮的函数 { // TODO: Add your control notification handler code here CString uID,Pwd,type,Exp。 (uID)。 (Pwd)。 if(uID==) { MessageBox(请输入用户名 )。 } else if(Pwd==) 21 { MessageBox(请输入密码 )。 } else { int i=()。 if(i==0) { type=0。 Exp=操作员。 } if(i==1) { type=1。 Exp=管理员。 } =uID。 =Pwd。 =type。 =Exp。 ()。 ()。 RefreshList()。 ResetButton()。 } } 删除信息时,需要先中 ListControl 控件中选取要删除的一个用户信息,然后点击 “确定 ”按钮。 函数( OnBTNUserDelete)代码如下: void CUserInfoManageDlg::OnBTNUserDelete() { // TODO: Add your control notification handler code here int row=()。 CString uid,strSQL。 uid=(row,0)。 //List 第 0 列,即 UID,取出赋值给 uid if(uid==) { MessageBox(请选择一行。 )。 } else { if(MessageBox( 确定要删除记录吗。 , 删除询问 , MB_OKCANCEL|MB_ICONQUESTION)==IDOK) { if(!()) 22 { if((_T(taiqiuting))) { CString strSQL。 (delete from Admin where UID=39。 %s39。 ,uid)。 //SQL 语句,按照选中的用户名 UID,删除这一行 (strSQL)。 ()。 RefreshList()。 } } } } } void CUserInfoManageDlg::OnBtnOk()//点击 OK 按钮删除成功,下面是 OK 按钮的函数 { // TODO: Add your control notification handler code here CString uID,Pwd,type,Exp。 (uID)。 (Pwd)。 if(uID==) { MessageBox(请输入用户名 )。 } else if(Pwd==) { MessageBox(请输入密码 )。 } else { int i=()。 if(i==0) { type=0。 Exp=操作员。 } if(i==1) { type=1。 Exp=管理员。 } =uID。 =Pwd。 =type。 23 =Exp。 ()。 ()。 RefreshList()。 ResetButton()。 } } 取消按钮函数( OnBtnCancel)代码如下: void CUserInfoManageDlg::OnBtnCancel() { // TODO: Add your control notification handler code here CDialog::OnCancel()。 } 完成上述代码的编写后,还需要修改框架类 MainFrm 类的内容,使得菜单项能够响应鼠标点击动作。 先在类向导用添加菜单项的响应函数,如下图 这样,下图会自动在 文件中添加保护型函数 afx_msg void OnManageUserInfo()。 然后,手动在 文件中添加相应代码: void CMainFrame::OnManageUserInfo() { // TODO: Add your mand handler code here CUserInfoManageDlg userinfomanage。 if(()==IDOK) { } else { } } 24 修改密码模块设计 修改密码模块的设计步骤:添加新对话框设置 ID 号为 IDD_DIALOG_ChangePWD,并以 CDialog 为基类创建 ChangePWDDlg 类。 添加控件、成员变量及函数,完成之后得到如图 所示的修改密码窗口对话框图。 修改密码窗口对话框图 从图 中可以看到,本模块中添加了四个 Edit Box 类型的控件,用来编辑变量;添加了四个 Static Text 类型的控件,用来存放变量内容;添加了两个 Button 类型的控件,用来设置确定和取消按钮。 表 是本模块添加的控件列表。 表 修改 密码模块控件表 ID 控件类型 控件名称 变量类型 变量名称 函数名称 IDC_STATIC Static Text 用户名 IDC_STATIC Static Text 密码 IDC_STATIC Static Text 新密码 IDC_STATIC Static Text 确认密码 IDC_EDIT_UName Edit Box CEdit m_userName IDC_EDIT_OldPWD Edit Box CEdit m_oldPwd IDC_EDIT_NewPWD Edit Box CEdit m_newPwd IDC_EDIT_ConformPWD Edit Box CEdit m_conformPwd ID_ChangePWDOK Button 确定 OnChangePWDOK() ID_ChangePWDCANCEL Button 取消 OnChangePWDCANCEL() 从表 中 可 以 看 到 本 模 块 有 两 个 成 员 函 数 , 分 别 是 OnChangePWDOK() 和OnChangePWDCANCEL()。 这两个成员函数用来设计确定和 取消按钮。 OnChangePWDOK()函数设计的是确定按钮, OnChangePWDCANCEL()函数设计的是取消按钮,如图 是修改密码类ChangePWDDlg 的成员函数和成员变量视图。 25 图 修改密码 ChangePWDDlg 类的类视图 修改用户密码时,利用对话框中获得的用户名和新密码,通过 SQL 语句 (update 用户表 set PWD=39。 %s39。 where UID=39。 %s39。 ,newPassword,username)。 对数据库进行更新,实现密码的修改操作。 函数( OnChangePWD)代码如下: void CChangePWDDlg::OnChangePWDOK() {// TODO: Add you。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。