📄 hrdbsdlg.cpp
字号:
m_listVocation.InsertColumn(1,"行业名称",LVCFMT_CENTER,90);
m_listHR.InsertColumn(0,"人脉ID",LVCFMT_CENTER,60);
m_listHR.InsertColumn(1,"姓名",LVCFMT_CENTER,80);
m_listHR.InsertColumn(2,"所在地区",LVCFMT_CENTER,80);
m_listHR.InsertColumn(3,"职业",LVCFMT_CENTER,80);
m_listHR.InsertColumn(4,"行业",LVCFMT_CENTER,80);
m_listHR.InsertColumn(5,"所在单位",LVCFMT_CENTER,80);
m_listHR.InsertColumn(6,"认识途径",LVCFMT_CENTER,80);
m_listHR.InsertColumn(7,"e-mail",LVCFMT_CENTER,80);
m_listHR.InsertColumn(8,"固定电话",LVCFMT_CENTER,80);
m_listHR.InsertColumn(9,"移动电话",LVCFMT_CENTER,80);
m_listHR.InsertColumn(10,"爱好",LVCFMT_CENTER,80);
m_listHR.InsertColumn(11,"说明",LVCFMT_CENTER,140);
}
void CHRDBSDlg::ConnectDB()
{
char szPath[255];
//获取应用程序完全路径
::GetModuleFileName(NULL,szPath,255);
CString strFileName=szPath;
//获取所在的目录名称
strFileName.Delete(strFileName.ReverseFind('\\')+1,
strFileName.GetLength()-strFileName.ReverseFind('\\')-1);
//构造配置文件的完全路径
strFileName+="HRDBS.ini";
TCHAR sz[101];
memset(sz,0,sizeof(TCHAR)*101);
GetPrivateProfileString(_T("General"),_T(" 数 据 库 数 据 源 "),
_T("oracle"),sz,100,strFileName);
CString strSourse(sz);
GetPrivateProfileString(_T("General"),_T(" 数 据 库 用 户 "),
_T("dbhr"),sz,100,strFileName);
CString strUser(sz);
GetPrivateProfileString(_T("General"),_T(" 数 据 库 密 码 "),
_T("000"),sz,100,strFileName);
CString strPwd(sz);
CString strConnect;
strConnect.Format("DSN=%s;UID=%s;PWD=%s",strSourse,strUser,strPwd);
TRY
{
if(m_db.OpenEx(strConnect,CDatabase::noOdbcDialog)!=0)
{
MessageBox("恭喜您,数据库连接成功 !");
}
else
MessageBox("连接不成功!");
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException, pEx)
{
pEx->ReportError();
AfxMessageBox("memory exception");
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::RefreshAreaComboData()
{
m_comboArea.ResetContent();
TRY
{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,"select * from area_info_tab");
while(! rs.IsEOF())
{
CString strName;
rs.GetFieldValue(1,strName);
m_comboArea.AddString(strName);
rs.MoveNext();
}
m_comboArea.SetCurSel(0);
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException, pEx)
{
pEx->ReportError();
AfxMessageBox("memory exception");
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::RefreshApprComboData()
{
m_comboApproach.ResetContent();
TRY
{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,"select * from approach_info_tab");
while(! rs.IsEOF())
{
CString strName;
rs.GetFieldValue(1,strName);
m_comboApproach.AddString(strName);
rs.MoveNext();
}
m_comboApproach.SetCurSel(0);
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException, pEx)
{
pEx->ReportError();
AfxMessageBox("memory exception");
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::RefreshProfComboData()
{
m_comboProfession.ResetContent();
TRY
{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,"select * from profession_info_tab");
while(! rs.IsEOF())
{
CString strName;
rs.GetFieldValue(1,strName);
m_comboProfession.AddString(strName);
rs.MoveNext();
}
m_comboProfession.SetCurSel(0);
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException, pEx)
{
pEx->ReportError();
AfxMessageBox("memory exception");
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::RefreshVocComboData()
{
m_comboVocation.ResetContent();
TRY
{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,"select * from vocation_info_tab");
while(! rs.IsEOF())
{
CString strName;
rs.GetFieldValue(1,strName);
m_comboVocation.AddString(strName);
rs.MoveNext();
}
m_comboVocation.SetCurSel(0);
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException, pEx)
{
pEx->ReportError();
AfxMessageBox("memory exception");
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::InsertConfigItem(CListCtrl *pList, int id, CString name)
{
int nIndex=pList->GetItemCount();
LV_ITEM lvItem;
lvItem.mask=LVIF_TEXT;
lvItem.iItem=nIndex;
lvItem.iSubItem=0;
CString temp;
temp.Format("%d",id);
lvItem.pszText=(char*)(LPCTSTR)temp;
pList->InsertItem(&lvItem);
pList->SetItemText(nIndex,1,name);
}
void CHRDBSDlg::InsertHRInfoItem(int id,CString name,CString area,CString prof,
CString voc,CString com,CString appr,CString email,CString phone,
CString mobile,CString interest,CString memo)
{
int nIndex=m_listHR.GetItemCount();
LV_ITEM lvItem;
lvItem.mask=LVIF_TEXT;
lvItem.iItem=nIndex;
lvItem.iSubItem=0;
CString temp;
temp.Format("%d",id);
lvItem.pszText=(char*)(LPCTSTR)temp;
m_listHR.InsertItem(&lvItem);
m_listHR.SetItemText(nIndex,1,name);
m_listHR.SetItemText(nIndex,2,area);
m_listHR.SetItemText(nIndex,3,prof);
m_listHR.SetItemText(nIndex,4,voc);
m_listHR.SetItemText(nIndex,5,com);
m_listHR.SetItemText(nIndex,6,appr);
m_listHR.SetItemText(nIndex,7,email);
m_listHR.SetItemText(nIndex,8,phone);
m_listHR.SetItemText(nIndex,9,mobile);
m_listHR.SetItemText(nIndex,10,interest);
m_listHR.SetItemText(nIndex,11,memo);
}
void CHRDBSDlg::InitCtrlData()
{
if (!m_db.IsOpen())
{
MessageBox("数据库未打开");
return;
}
TRY
{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,"select * from area_info_tab order by area_id");
while(!rs.IsEOF())
{
int id;
CString area;
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
id=var.m_iVal;
var.Clear();
rs.GetFieldValue(1,area);
InsertConfigItem(&m_listArea,id,area);
rs.MoveNext();
}
rs.Close();
rs.Open(CRecordset::dynaset,"select * from approach_info_tab "
"order by approach_id");
while(!rs.IsEOF())
{
int id;
CString approach;
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
id=var.m_iVal;
var.Clear();
rs.GetFieldValue(1,approach);
InsertConfigItem(&m_listApproach,id,approach);
rs.MoveNext();
}
rs.Close();
rs.Open(CRecordset::dynaset,"select * from profession_info_tab "
"order by profession_id");
while(!rs.IsEOF())
{
int id;
CString profession;
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
id=var.m_iVal;
var.Clear();
rs.GetFieldValue(1,profession);
InsertConfigItem(&m_listProfession,id,profession);
rs.MoveNext();
}
rs.Close();
rs.Open(CRecordset::dynaset,"select * from vocation_info_tab "
"order by vocation_id");
while(!rs.IsEOF())
{
int id;
CString vocation;
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
id=var.m_iVal;
var.Clear();
rs.GetFieldValue(1,vocation);
InsertConfigItem(&m_listVocation,id,vocation);
rs.MoveNext();
}
rs.Close();
rs.Open(CRecordset::dynaset,"select * from human_info_tab "
"order by id");
while(!rs.IsEOF())
{
int id;
CString name,area,profession,vocation,company;
CString approach,email,phone,mobile,interest,memo;
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
id=var.m_iVal;
var.Clear();
rs.GetFieldValue(1,name);
rs.GetFieldValue(2,area);
rs.GetFieldValue(3,profession);
rs.GetFieldValue(4,vocation);
rs.GetFieldValue(5,company);
rs.GetFieldValue(6,approach);
rs.GetFieldValue(7,email);
rs.GetFieldValue(8,phone);
rs.GetFieldValue(9,mobile);
rs.GetFieldValue(10,interest);
rs.GetFieldValue(11,memo);
InsertHRInfoItem(id,name,area,profession,vocation,company,
approach,email,phone,mobile,interest,memo);
rs.MoveNext();
}
rs.Close();
RefreshAreaComboData();
RefreshApprComboData();
RefreshProfComboData();
RefreshVocComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException, pEx)
{
pEx->ReportError();
AfxMessageBox("memory exception");
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnClickListArea(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem=m_listArea.GetNextItem(-1,LVNI_SELECTED);
if (nItem !=-1)
{
CString name=m_listArea.GetItemText(nItem,1);
GetDlgItem(IDC_EDIT_CONFIG_AREA)->SetWindowText(name);
}
*pResult = 0;
}
void CHRDBSDlg::OnClickListApproach(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem=m_listApproach.GetNextItem(-1,LVNI_SELECTED);
if (nItem !=-1)
{
CString name=m_listApproach.GetItemText(nItem,1);
GetDlgItem(IDC_EDIT_CONFIG_APPROACH)->SetWindowText(name);
}
*pResult = 0;
}
void CHRDBSDlg::OnClickListProfession(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem=m_listProfession.GetNextItem(-1,LVNI_SELECTED);
if (nItem!=-1)
{
CString name=m_listProfession.GetItemText(nItem,1);
GetDlgItem(IDC_EDIT_CONFIG_PROFESSION)->SetWindowText(name);
}
*pResult = 0;
}
void CHRDBSDlg::OnClickListVocation(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem=m_listVocation.GetNextItem(-1,LVNI_SELECTED);
if (nItem !=-1)
{
CString name=m_listVocation.GetItemText(nItem,1);
GetDlgItem(IDC_EDIT_CONFIG_VOCATION)->SetWindowText(name);
}
*pResult = 0;
}
void CHRDBSDlg::OnClickListHr(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem=m_listHR.GetNextItem(-1,LVNI_SELECTED);
if (nItem !=-1)
{
m_strName=m_listHR.GetItemText(nItem,1);
m_strSelectedArea=m_listHR.GetItemText(nItem,2);
m_strSelectedProfession=m_listHR.GetItemText(nItem,3);
m_strSelectedVocation=m_listHR.GetItemText(nItem,4);
m_strCompany=m_listHR.GetItemText(nItem,5);
m_strSelectedApproach=m_listHR.GetItemText(nItem,6);
m_strEmail=m_listHR.GetItemText(nItem,7);
m_strPhone=m_listHR.GetItemText(nItem,8);
m_strMobile=m_listHR.GetItemText(nItem,9);
m_strInterest=m_listHR.GetItemText(nItem,10);
m_strMemo=m_listHR.GetItemText(nItem,11);
GetDlgItem(IDC_EDIT_NAME)->SetWindowText(m_strName);
GetDlgItem(IDC_COMBO_AREA)->SetWindowText(m_strSelectedArea);
GetDlgItem(IDC_COMBO_PROFESSION)->SetWindowText(m_strSelectedProfession);
GetDlgItem(IDC_COMBO_VOCATION)->SetWindowText(m_strSelectedVocation);
GetDlgItem(IDC_EDIT_COMPANY)->SetWindowText(m_strCompany);
GetDlgItem(IDC_COMBO_APPROACH)->SetWindowText(m_strSelectedApproach);
GetDlgItem(IDC_EDIT_EMAIL)->SetWindowText(m_strEmail);
GetDlgItem(IDC_EDIT_PHONE)->SetWindowText(m_strPhone);
GetDlgItem(IDC_EDIT_MOBILE)->SetWindowText(m_strMobile);
GetDlgItem(IDC_EDIT_MEMO)->SetWindowText(m_strInterest);
GetDlgItem(IDC_EDIT_INTEREST)->SetWindowText(m_strMemo);
}
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -