📄 assigndlg.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 + -