1.7.3 监控管理实现过程(3)
(9)处理"修改"按钮的单击事件,用于修改数据库中用户的密码。代码如下:
- void CManagedlg::OnButtonmod()
- {
- UpdateData(TRUE);
- if(m_Name.IsEmpty() || m_PassWord.IsEmpty())
//判断数据是否为空 - {
- MessageBox("用户名或密码不能为空");
- return;
- }
- OnInitADOConn();
//连接数据库 - //设置SQL语句
- CString sql;
- sql.Format("update tb_user set 用户名='%s',
密码='%s' where 用户名='%s' ", - m_Name,m_PassWord,m_Name);
- m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);
//执行SQL语句 - m_pConnection->Close();
//断开数据库连接 - m_List.DeleteAllItems();
//删除列表视图控件中的数据 - AddToList();
//向列表视图控件中添加数据 - }
(10)处理"删除"按钮的单击事件,用于删除数据库中的用户。代码如下:
- void CManagedlg::OnButtondel()
- {
- UpdateData(TRUE);
- if(m_Name.IsEmpty())
//判断用户名是否为空 - {
- MessageBox("用户名不能为空");
- return;
- }
- OnInitADOConn();
//连接数据库 - CString sql;
- sql.Format("delete * from tb_user where
用户名='%s' ",m_Name); //设置SQL语句 - m_pConnection->Execute((_bstr_t)sql,NULL,
adCmdText); //执行SQL语句 - m_pConnection->Close();
//断开数据库连接 - m_List.DeleteAllItems();
//删除列表视图控件中的数据 - AddToList();
//向列表视图控件中添加数据 - }
-
(11)处理列表视图控件的NM_CLICK事件,当单击列表视图控件中的图标时,将用户名显示在编辑框中。代码如下:
- void CManagedlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
- {
- int pos = m_List.GetSelectionMark();
//获得列表控件当前选择的节点 - m_Name = m_List.GetItemText(pos,0);
//将用户名显示到文本框中 - UpdateData(FALSE);
//更新控件显示 - *pResult = 0;
- }
(12)添加自定义函数Display,用于控制对话框的伸展和收缩。代码如下:- void CManagedlg::Display()
- {
- CRect rcDlg;
- GetWindowRect(rcDlg);
//获得窗口的客户区域 - if(m_bExpand)
//判断是否展开 - {
- //设置范围
- rcDlg.SetRect( rcDlg.left, rcDlg.top,
rcDlg.left + rcDlg.Width(),rcDlg.top + m_nExpandedHeight); - CFile file;
- file.Open(m_LogPath,CFile::modeRead);
//打开日志文件 - DWORD size = file.GetLength();
//获得文件大小 - char read[256];
- file.Read(read,size);
//读取文件内容 - CString str="";
- for(int i=0;i<size;i++)
- {
- str += read[i];
//将文件内容赋值给字符串str - }
- m_Log = str;
- UpdateData(FALSE);
//更新控件显示 - }
- else
- {
- //设置范围
- rcDlg.SetRect(rcDlg.left, rcDlg.top,
rcDlg.left + rcDlg.Width(),rcDlg.top + m_nNormalHeight); - }
- MoveWindow(rcDlg);
//改变窗体显示范围 - }