// Dlg_CardProPerty.cpp : 实现文件 // #include "stdafx.h" #include "StoneU_Door.h" #include "Dlg_CardProPerty.h" #include ".\dlg_cardproperty.h" #include "Global.h" #include "DBConnection.h" // CDlg_CardProPerty 对话框 IMPLEMENT_DYNAMIC(CDlg_CardProPerty, CDialog) CDlg_CardProPerty::CDlg_CardProPerty(CWnd* pParent /*=NULL*/) : CDialog(CDlg_CardProPerty::IDD, pParent) , m_sEdit_Name(_T("")) , m_sEdit_CardNumber(_T("")) , m_sEdit_Class(_T("")) , m_sEdit_Remarks(_T("")) , m_sEdit_JobNumber(_T("")) { m_nID = -1; } CDlg_CardProPerty::~CDlg_CardProPerty() { } void CDlg_CardProPerty::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT_NAME, m_sEdit_Name); DDX_Text(pDX, IDC_EDIT_CARDNUMBER, m_sEdit_CardNumber); DDX_Text(pDX, IDC_EDIT_CALSS, m_sEdit_Class); DDX_Text(pDX, IDC_EDIT_DOOR1NAME, m_sEdit_Remarks); DDX_Text(pDX, IDC_EDIT_JOBNUMBER, m_sEdit_JobNumber); } BEGIN_MESSAGE_MAP(CDlg_CardProPerty, CDialog) ON_WM_CTLCOLOR() ON_WM_ERASEBKGND() ON_BN_CLICKED(IDOK, OnBnClickedOk) END_MESSAGE_MAP() // CDlg_CardProPerty 消息处理程序 BOOL CDlg_CardProPerty::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 switch( m_nOperate ) { case ADD: { UpdateData(); } break; case EDIT: { if( ReadCard( m_nID,m_sEdit_Name,m_sEdit_CardNumber,m_sEdit_Class,m_sEdit_JobNumber,m_sEdit_Remarks ) ) { UpdateData( false ); } } break; } return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } HBRUSH CDlg_CardProPerty::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; } BOOL CDlg_CardProPerty::OnEraseBkgnd(CDC* pDC) { // TODO: 在此添加消息处理程序代码和/或调用默认值 return CDialog::OnEraseBkgnd(pDC); } void CDlg_CardProPerty::OnBnClickedOk() { UpdateData(); int nIndex = 0; switch( m_nOperate ) { case ADD: nIndex = InsertCardInfo( (char *)(LPCTSTR)m_sEdit_Name,(char *)(LPCTSTR)m_sEdit_CardNumber,(char *)(LPCTSTR)m_sEdit_Class,(char *)(LPCTSTR)m_sEdit_JobNumber,(char *)(LPCTSTR)m_sEdit_Remarks ); break; case EDIT: nIndex = UpdateCardInfo( m_nID,(char *)(LPCTSTR)m_sEdit_Name,(char *)(LPCTSTR)m_sEdit_CardNumber,(char *)(LPCTSTR)m_sEdit_Class,(char *)(LPCTSTR)m_sEdit_JobNumber,(char *)(LPCTSTR)m_sEdit_Remarks ); break; } if( nIndex>0 ) { m_nID = nIndex; OnOK(); } } bool CDlg_CardProPerty::ReadCard( int iID,CString &sName,CString &sCardNumber,CString &sClass,CString &sJobNumber,CString &sRemarks ) { bool bRet = false; CHAR strSQLText[MAX_SQL_LENGTH + 1] = ""; list list1,list2,list3,list4,list5,list6; list::iterator it_list1,it_list2,it_list3,it_list4,it_list5,it_list6; if(!_stricmp(g_strDBType, "PGSQL")) { sprintf(strSQLText, "select id, susername, scardnumber,sclass,sjobnumber,sremarks from t_door_card where id=%d",iID ); } else { sprintf(strSQLText, "select id, susername, scardnumber,sclass,sjobnumber,sremarks from t_door_card where id=%d",iID ); } int nRet = GetFieldValueList6( strSQLText,list1,list2,list3,list4,list5,list6); if( 0 == list1.size() || 0 == list2.size() ) { return bRet; } if( nRet != -1 ) { bRet = true; for( it_list1=list1.begin(),it_list2=list2.begin(),it_list3=list3.begin(), it_list4=list4.begin(),it_list5=list5.begin(),it_list6=list6.begin(); it_list1!=list1.end() && it_list2!=list2.end() && it_list3!=list3.end() && it_list4!=list4.end() && it_list5!=list5.end() && it_list6!=list6.end(); it_list1++,it_list2++,it_list3++, it_list4++,it_list5++,it_list6++ ) { sName = (*it_list2).c_str(); sCardNumber = (*it_list3).c_str(); sClass = (*it_list4).c_str(); sJobNumber = (*it_list5).c_str(); sRemarks = (*it_list6).c_str(); } } for( it_list1=list1.begin(),it_list2=list2.begin(),it_list3=list3.begin(),it_list4=list4.begin(),it_list5=list5.begin(),it_list6=list6.begin(); it_list1!=list1.end(),it_list2!=list2.end(),it_list3!=list3.end(),it_list4!=list4.end(),it_list5!=list5.end(),it_list6!=list6.end();) { list1.erase(it_list1++); list2.erase(it_list2++); list3.erase(it_list3++); list4.erase(it_list4++); list5.erase(it_list5++); list6.erase(it_list6++); } return bRet; }