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

📄 assigndlg.cpp

📁 本程序是一个宾馆程控电话系统
💻 CPP
字号:
// AssignDlg.cpp : implementation file
//

#include "stdafx.h"
#include "tel2006.h"
#include "AssignDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAssignDlg dialog


CAssignDlg::CAssignDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAssignDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAssignDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	//m_manager = new CDataManager();
}


void CAssignDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAssignDlg)
	DDX_Control(pDX, IDC_LIST_DEST, m_listDest);
	DDX_Control(pDX, IDC_LIST_SOURCE, m_listSource);
	DDX_Control(pDX, IDC_LIST_DEPT, m_listDept);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAssignDlg, CDialog)
	//{{AFX_MSG_MAP(CAssignDlg)
	ON_BN_CLICKED(IDC_EXIT_BUTTON, OnExitButton)
	ON_LBN_SELCHANGE(IDC_LIST_DEPT, OnSelchangeListDept)
	ON_LBN_DBLCLK(IDC_LIST_DEST, OnDblclkListDest)
	ON_LBN_DBLCLK(IDC_LIST_SOURCE, OnDblclkListSource)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAssignDlg message handlers

BOOL CAssignDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_AdoConn.OnInitADOConn(".");
	ShowDept();
	m_listDept.SetCurSel(0);
	ShowPhoneSource();
	m_listSource.SetCurSel(0);
	ShowPhoneDest("01");
	m_listDest.SetCurSel(0);
	return TRUE; 
}


void CAssignDlg::ShowDept()
{
	_variant_t var;
	CString strCount("");
	CString strTemp;
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("select T_DeptID,T_DeptName from R_TelDept");
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);	

	m_listDept.ResetContent();

	while(!m_pRecordset->adoEOF)
	{
		strTemp = "";
		var = m_pRecordset->GetCollect("T_DeptID");
		if(var.vt != VT_NULL)
			strTemp += (LPCSTR)_bstr_t(var);

		var = m_pRecordset->GetCollect("T_DeptName");
		if(var.vt != VT_NULL)
			strTemp += (LPCSTR)_bstr_t(var);

		m_listDept.AddString(strTemp);
		m_pRecordset->MoveNext();
	}
}

void CAssignDlg::ShowPhoneSource()
{
	_variant_t var;
	CString strCount("");
	CString strTemp;	
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("select T_Number from R_TelPhone where T_DeptID = '00'");
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	m_listSource.ResetContent();

	while(!m_pRecordset->adoEOF)
	{
		strTemp = "";
		var = m_pRecordset->GetCollect("T_Number");
		if(var.vt != VT_NULL)
			strTemp += (LPCSTR)_bstr_t(var);
		m_listSource.AddString(strTemp);
		m_pRecordset->MoveNext();
	}
}

void CAssignDlg::OnExitButton() 
{
	// TODO: Add your control notification handler code here
	m_AdoConn.ExitConnect();
	//delete(m_manager);
	CDialog::OnCancel();
}

void CAssignDlg::ShowPhoneDest(CString strDeptID)
{
	_variant_t var;
	CString strCount("");
	CString strTemp;
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("select T_Number from R_TelPhone where T_DeptID = '%s'",strDeptID);
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	m_listDest.ResetContent();

	while(!m_pRecordset->adoEOF)
	{
		strTemp = "";
		var = m_pRecordset->GetCollect("T_Number");
		if(var.vt != VT_NULL)
			strTemp += (LPCSTR)_bstr_t(var);
		m_listDest.AddString(strTemp);
		m_pRecordset->MoveNext();
	}
}

void CAssignDlg::OnSelchangeListDept() 
{
	m_listDept.GetText(m_listDept.GetCurSel(),m_strDeptID);
	ShowPhoneDest(m_strDeptID.Left(2));
}

void CAssignDlg::OnDblclkListDest() 
{
	CString strDest ;
	CString strDeptID;
	m_listDest.GetText(m_listDest.GetCurSel(),strDest);
	ModifyDeptID(strDest,"00");
	ShowPhoneSource();

	m_listDept.GetText(m_listDept.GetCurSel(),strDeptID);
	strDeptID = strDeptID.Left(2);
	ShowPhoneDest(strDeptID);
}

void CAssignDlg::OnDblclkListSource() 
{
	CString strDeptID,strSource;
	m_listSource.GetText(m_listSource.GetCurSel(),strSource);

	m_listDept.GetText(m_listDept.GetCurSel(),strDeptID);
	strDeptID = strDeptID.Left(2);
	ModifyDeptID(strSource,strDeptID);
	ShowPhoneSource();
	ShowPhoneDest(strDeptID);
}

void CAssignDlg::ModifyDeptID(CString strPhone, CString strDeptID)
{
	CString strSQL("");

	try
	{
		strSQL.Format("update R_TelPhone SET T_DeptID = '%s' WHERE T_Number ='%s'",
			strDeptID,strPhone);
	
		_bstr_t vSQL =strSQL;
		m_AdoConn.ExecuteSQL(vSQL);
	}
	catch (_com_error e) 
	{
		CString errormessage;
		errormessage.Format("自定义错误信息3:%s",e.ErrorMessage());
		AfxMessageBox(errormessage);///显示错误信息
	}
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -