⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dutymandlg.cpp

📁 口通信 VC 完整串口通信程序Vc++源代码 串口通讯 vc++ 源代码 vc 串口通信 串口通信 mfc 通信 发送程序 vc++ 串口 VC 串口通信程序 完整串口通信程序Vc 源代码 VC串口通
💻 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 + -