设为首页 加入收藏

TOP

3.9.5 用户管理界面的实现(1)
2013-10-07 14:52:50 来源: 作者: 【 】 浏览:67
Tags:3.9.5 用户 管理 面的 实现

3.9.5  用户管理界面的实现(1)

该界面只允许具有管理员权限的用户进行管理操作,其中又分为用户添加、注销用户、修改用户信息功能,下面分别进行介绍。

当用户输入完信息后,单击【添加用户】按钮,输入数据无误后可操作成功。按钮实现代码参考如下:

代码位置:见光盘中本章源代码的SYSDLG类。

  1. 1  void SYSDLG::OnAdduser()  
  2. 2  {  
  3. 3   UpdateData();  
  4. 4   CString tempstr;  
  5. 5   m_combo.GetLBText(m_combo.GetCurSel(),tempstr);         //获取组合框选项  
  6. 6   if(m_id!=""&&m_name!="")  
  7. 7   {  
  8. 8       while(!m_pRecordset->_EOF)                      //记录没有到最后  
  9. 9       {  
  10. 10              CString str = ((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("opername"));  
  11. 11              str.TrimRight();                                //获取管理员姓名  
  12. 12              if(str==m_id)  
  13. 13              {  
  14. 14                  AfxMessageBox("该用户名已存在!\r\n请重新选择新用户进行注册!");  
  15. 15                  m_id=m_name=m_pass=m_passr="";  
  16. 16                  UpdateData(false);  
  17. 17                  return;  
  18. 18              }  
  19. 19              m_pRecordset->MoveNext();                       //记录后移  
  20. 20          }  
  21. 21          if(m_pass==m_passr)                                 //密码确认相同  
  22. 22          {  
  23. 23              CString str,str2;  
  24. 24              _variant_t va;                              //构造插入记录语句  
  25. 25      str.Format("insert into tb_operator values('%s','%s','%s','%s')",m_id,m_name, m_pass,tempstr);  
  26. 26              m_pRecordset =m_pConnection->Execute(_bstr_t(str),&va,adCmdText);                                                               //执行插入  
  27. 27              AfxMessageBox("添加成功!!");  
  28. 28              m_id=m_name=m_pass=m_passr="";  
  29. 29              UpdateData(false);                          //显示输出  
  30. 30              ShowData();                                 //显示在列表中输出  
  31. 31          }  
  32. 32          else  
  33. 33          {  
  34. 34              AfxMessageBox("对不起!确认密码不正确!\r\n请您重新输入!");  
  35. 35              m_passr="";  
  36. 36              UpdateData(false);  
  37. 37              return;  
  38. 38          }  
  39. 39      }  
  40. 40      else  
  41. 41      {  
  42. 42          AfxMessageBox("请输入正确的用户名!");  
  43. 43          return;  
  44. 44      }  
  45. 45  }  

第5行代码实现对用户权限组合框选中权限的获取。

第9~20行代码主要是判断数据表中是否有待注册新用户的id,如果有,则不允许再重复注册。

第21~38行代码实现判断两次输入的密码是否一致,即密码验证,如果不一致,则终止注册。

第30行代码完成列表框中用户的更新显示。

上面的代码中ShowData()封装完成列表框中用户的更新显示。该函数代码参考如下:

代码位置:见光盘中本章源代码的SYSDLG类。

  1. 1  void SYSDLG::ShowData()  
  2. 2  {  
  3. 3   _variant_t va;                                  //执行查询返回记录集  
  4. 4m_pRecordset =m_pConnection->Execute("select * from tb_operator order by operid", &va,adCmdText);  
  5. 5   for(int i=m_list.GetCount();i>=0;i--)               //删除列表列标题  
  6. 6       m_list.DeleteString(i);  
  7. 7   int k=0;  
  8. 8   while(!m_pRecordset->_EOF)                      //记录没有到最后  
  9. 9   {  
  10. 10          CString str1 = ((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("opername"));  
  11. 11          CString str2 = ((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("operlevel"));  
  12. 12          str1.TrimRight();                               //去掉管理员名右边的空格  
  13. 13          str2.TrimRight();                               //去掉权限右边的空格  
  14. 14          m_list.InsertString(k,str1+"["+str2+"]");       //插入到组合框中  
  15. 15          k++;  
  16. 16          m_pRecordset->MoveNext();                       //记录后移  
  17. 17      }  
  18. 18  }  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.9.5 用户管理界面的实现(2) 下一篇3.9.7 数据库还原界面的实现(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: