📄 dutymandlg.cpp
字号:
// DutyManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "GSMTest.h"
#include "DutyManDlg.h"
#include <winsock.h>
#include <mysql.h>
#include "database.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDutyManDlg dialog
CDutyManDlg::CDutyManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDutyManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDutyManDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDutyManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDutyManDlg)
DDX_Control(pDX, IDC_DUTY_LIST, m_ctrDutylist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDutyManDlg, CDialog)
//{{AFX_MSG_MAP(CDutyManDlg)
ON_BN_CLICKED(IDC_DUTY_ADD, OnDutyAdd)
ON_BN_CLICKED(IDC_DUTY_EDIT, OnDutyEdit)
ON_BN_CLICKED(IDC_DUTY_DEL, OnDutyDel)
ON_NOTIFY(NM_DBLCLK, IDC_DUTY_LIST, OnDblclkDutyList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDutyManDlg message handlers
BOOL CDutyManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_ctrDutylist.InsertColumn(0,"ID",LVCFMT_CENTER,40,0);
m_ctrDutylist.InsertColumn(1,"姓名",LVCFMT_CENTER,120,1);
m_ctrDutylist.InsertColumn(2,"TEL",LVCFMT_CENTER,120,2);
m_ctrDutylist.InsertColumn(3,"备注",LVCFMT_CENTER,100,3);
m_ctrDutylist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
// TODO: Add extra initialization here
bindduty();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDutyManDlg::bindduty()
{
m_ctrDutylist.DeleteAllItems();
CDatabase1 database;
if(!database.ConnectDB())
{
return;
}
CString charset="set names 'gb2312'";//使之正常显示中文,或用set character_set_results=gb2312;
database.ExecuteSQL(charset,charset.GetLength());//执行语句.
Data_Param result;
result.tab_name="duty_info";
result.select_exp="duty_id,duty_name,duty_tel,remark";
if(database.SelectAll(&result))
{
int count=(int)database.GetRowNum();
for(int i=0;i<count;i++)
{
database.SeekData(i);
MYSQL_ROW row=database.GetRecord();
m_ctrDutylist.InsertItem(i,row[0]);
m_ctrDutylist.SetItemText(i,1,row[1]);
m_ctrDutylist.SetItemText(i,2,row[2]);
m_ctrDutylist.SetItemText(i,3,row[3]);
}
}
}
#include "dutyeditdlg.h"
void CDutyManDlg::OnDutyAdd()
{
CDutyEditdlg dlg;
dlg.m_sOption="add";
if(dlg.DoModal()!=IDCANCEL)
bindduty();
}
void CDutyManDlg::OnDutyEdit()
{
POSITION pos = m_ctrDutylist.GetFirstSelectedItemPosition();
if (pos == NULL)
{
AfxMessageBox("请选择要编辑的负责人!");
return;
}
int nItem =m_ctrDutylist.GetNextSelectedItem(pos);
CDutyEditdlg dlg;
dlg.m_sOption="edit";
dlg.m_strID=m_ctrDutylist.GetItemText(nItem,0);
dlg.m_strName=m_ctrDutylist.GetItemText(nItem,1);
dlg.m_strTel=m_ctrDutylist.GetItemText(nItem,2);
dlg.m_strRemark=m_ctrDutylist.GetItemText(nItem,3);
if(dlg.DoModal()!=IDCANCEL)
bindduty();
}
void CDutyManDlg::OnDutyDel()
{
POSITION pos = m_ctrDutylist.GetFirstSelectedItemPosition();
if (pos == NULL)
{
AfxMessageBox("请选择要删除的负责人!");
return;
}
if(AfxMessageBox("确实要删除该负责人吗?",MB_OKCANCEL)==IDCANCEL)
{
return;
}
int nItem =m_ctrDutylist.GetNextSelectedItem(pos);
CDatabase1 database;
if(!database.ConnectDB())
{
return;
}
CString charset="set names 'gb2312'";//使之正常显示中文,或用set character_set_results=gb2312;
database.ExecuteSQL(charset,charset.GetLength());//执行语句.
CString sSQL;
sSQL.Format("delete from duty_info where duty_id='%s'",m_ctrDutylist.GetItemText(nItem,0));
if(!database.ExecuteSQL(sSQL,sSQL.GetLength()))
{
AfxMessageBox("删除失败!");
return;
}
}
void CDutyManDlg::OnDblclkDutyList(NMHDR* pNMHDR, LRESULT* pResult)
{
OnDutyEdit();
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -