📄 hrdbsdlg.cpp
字号:
}
void CHRDBSDlg::OnBtnHrAdd()
{
// TODO: Add your control notification handler code here
if(!UpdateData())
return;
if (m_strName.IsEmpty())
{
AfxMessageBox(" 姓名不能够为空");
return;
}
TRY
{
m_db.BeginTrans();
CRecordset rs(&m_db);
CString sql;
rs.Open(CRecordset::dynaset,
"select seq_human_id.NEXTVAL from human_info_tab");
int newID=10000;
if (!rs.IsEOF())
{
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
newID =var.m_iVal+1;
}
sql.Format("call add_human_info_tab(%d,'%s','%s','%s','%s',"
"'%s','%s','%s','%s','%s','%s','%s')",newID,m_strName,
m_strSelectedArea,m_strSelectedProfession,m_strSelectedVocation,
m_strCompany,m_strSelectedApproach,m_strEmail,m_strPhone,m_strMobile,
m_strInterest,m_strMemo);
TRACE(sql);
m_db.ExecuteSQL(sql);
InsertHRInfoItem(newID,m_strName,
m_strSelectedArea,m_strSelectedProfession,m_strSelectedVocation,
m_strCompany,m_strSelectedApproach,m_strEmail,m_strPhone,m_strMobile,
m_strInterest,m_strMemo);
m_db.CommitTrans();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnHrDel()
{
// TODO: Add your control notification handler code here
int nItem=m_listHR.GetNextItem(-1,LVNI_SELECTED);
if(nItem==-1)
{
AfxMessageBox("没有选择要删除的人脉信息");
return;
}
int id=atoi(m_listHR.GetItemText(nItem,0));
TRY
{
m_db.BeginTrans();
CString deleteSql;
deleteSql.Format("delete from human_info_tab where id=%d",id);
m_db.ExecuteSQL(deleteSql);
m_listHR.DeleteItem(nItem);
m_db.CommitTrans();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnHrMod()
{
// TODO: Add your control notification handler code here
if(! UpdateData())
return;
if (m_strName.IsEmpty())
{
AfxMessageBox("姓名不能为空");
return;
}
int nItem=m_listHR.GetNextItem(-1,LVNI_SELECTED);
if (nItem==-1)
{
AfxMessageBox("没有选择要修改的人脉信息");
return;
}
int id =atoi(m_listHR.GetItemText(nItem,0));
TRY
{
m_db.BeginTrans();
CRecordset rs(&m_db);
CString sql;
sql.Format("call add_human_info_tab(%d,'%s','%s','%s',"
"'%s','%s','%s','%s','%s','%s','%s','%s')",id,m_strName,
m_strSelectedArea,m_strSelectedProfession,m_strSelectedVocation,
m_strCompany,m_strSelectedApproach,m_strEmail,m_strPhone,
m_strMobile,m_strInterest,m_strMemo);
TRACE(sql);
m_db.ExecuteSQL(sql);
m_listHR.SetItemText(nItem,1,m_strName);
m_listHR.SetItemText(nItem,2,m_strSelectedArea);
m_listHR.SetItemText(nItem,3,m_strSelectedProfession);
m_listHR.SetItemText(nItem,4,m_strSelectedVocation);
m_listHR.SetItemText(nItem,5,m_strCompany);
m_listHR.SetItemText(nItem,6,m_strSelectedApproach);
m_listHR.SetItemText(nItem,7,m_strEmail);
m_listHR.SetItemText(nItem,8,m_strPhone);
m_listHR.SetItemText(nItem,9,m_strMobile);
m_listHR.SetItemText(nItem,10,m_strInterest);
m_listHR.SetItemText(nItem,11,m_strMemo);
m_db.CommitTrans();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnHrQuery()
{
// TODO: Add your control notification handler code here
if(!UpdateData())
return;
if (m_strName.IsEmpty())
{
AfxMessageBox("姓名不能为空");
return;
}
if (!m_db.IsOpen())
{
AfxMessageBox("数据库未打开");
return;
}
m_listHR.DeleteAllItems();
TRY
{
CRecordset rs(&m_db);
CString temp="%";
CString sql;
sql.Format("select * from human_info_tab where name like '%s%s%s' ",
temp,m_strName,temp);
rs.Open(CRecordset::dynaset,sql);
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();
}
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::OnBtnProfessionAdd()
{
// TODO: Add your control notification handler code here
if (!UpdateData())
return;
if(m_strConfigProfession.IsEmpty())
return;
TRY
{
CRecordset rs(&m_db);
CString sql;
rs.Open(CRecordset::dynaset,
"select max(profession_id) from profession_info_tab");
int newID=1;
if (!rs.IsEOF())
{
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
newID=var.m_iVal+1;
}
sql.Format("Insert into profession_info_tab(profession_id, "
"profession_name) "
"values("
"%d,'%s')",newID,m_strConfigProfession);
TRACE(sql);
m_db.ExecuteSQL(sql);
InsertConfigItem(&m_listProfession,newID,m_strConfigProfession);
RefreshAreaComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnProfessionDel()
{
// TODO: Add your control notification handler code here
int nItem=m_listProfession.GetNextItem(-1,LVNI_SELECTED);
if(nItem==-1)
{
AfxMessageBox("没有选择要删除的职业信息");
return;
}
int id=atoi(m_listProfession.GetItemText(nItem,0));
TRY
{
CString deleteSql;
deleteSql.Format("delete from profession_info_tab where profession_id=%d",id);
m_db.ExecuteSQL(deleteSql);
m_listProfession.DeleteItem(nItem);
RefreshAreaComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnProfessionMod()
{
// TODO: Add your control notification handler code here
if (!UpdateData())
return;
if(m_strConfigProfession.IsEmpty())
return;
int nItem=m_listProfession.GetNextItem(-1,LVNI_SELECTED);
if (nItem==-1)
{
AfxMessageBox("没有选择要修改的职业信息");
return;
}
int id=atoi(m_listProfession.GetItemText(nItem,0));
TRY
{
CRecordset rs(&m_db);
CString sql;
sql.Format("update profession_info_tab "
"set profession_name='%s' "
"where profession_id=%d",m_strConfigProfession,id);
TRACE(sql);
m_db.ExecuteSQL(sql);
m_listProfession.SetItemText(nItem,1,m_strConfigProfession);
RefreshAreaComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnStatQuery()
{
// TODO: Add your control notification handler code here
CStatQueryDlg dlg;
dlg.m_pDB=&m_db;
dlg.DoModal();
}
void CHRDBSDlg::OnBtnVocationAdd()
{
// TODO: Add your control notification handler code here
if (!UpdateData())
return;
if(m_strConfigVocation.IsEmpty())
return;
TRY
{
CRecordset rs(&m_db);
CString sql;
rs.Open(CRecordset::dynaset,
"select max(vocation_id) from vocation_info_tab");
int newID=1;
if (!rs.IsEOF())
{
CDBVariant var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType !=DBVT_NULL)
newID=var.m_iVal+1;
}
sql.Format("Insert into vocation_info_tab(vocation_id, "
"vocation_name) "
"values("
"%d,'%s')",newID,m_strConfigVocation);
TRACE(sql);
m_db.ExecuteSQL(sql);
InsertConfigItem(&m_listVocation,newID,m_strConfigVocation);
RefreshAreaComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnVocationDel()
{
// TODO: Add your control notification handler code here
int nItem=m_listVocation.GetNextItem(-1,LVNI_SELECTED);
if(nItem==-1)
{
AfxMessageBox("没有选择要删除的行业信息");
return;
}
int id=atoi(m_listVocation.GetItemText(nItem,0));
TRY
{
CString deleteSql;
deleteSql.Format("delete from vocation_info_tab where vocation_id=%d",id);
m_db.ExecuteSQL(deleteSql);
m_listVocation.DeleteItem(nItem);
RefreshAreaComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::OnBtnVocationMod()
{
// TODO: Add your control notification handler code here
if (!UpdateData())
return;
if(m_strConfigVocation.IsEmpty())
return;
int nItem=m_listVocation.GetNextItem(-1,LVNI_SELECTED);
if (nItem==-1)
{
AfxMessageBox("没有选择要修改的行业信息");
return;
}
int id=atoi(m_listVocation.GetItemText(nItem,0));
TRY
{
CRecordset rs(&m_db);
CString sql;
sql.Format("update vocation_info_tab "
"set vocation_name='%s' "
"where vocation_id=%d",m_strConfigVocation,id);
TRACE(sql);
m_db.ExecuteSQL(sql);
m_listVocation.SetItemText(nItem,1,m_strConfigVocation);
RefreshAreaComboData();
}
CATCH (CDBException, ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CHRDBSDlg::InitControl()
{
DWORD dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|
LVS_EX_HEADERDRAGDROP|LVS_EX_UNDERLINEHOT|LVS_EX_ONECLICKACTIVATE;
m_listArea.SetExtendedStyle(dwExStyle);
m_listApproach.SetExtendedStyle(dwExStyle);
m_listHR.SetExtendedStyle(dwExStyle);
m_listProfession.SetExtendedStyle(dwExStyle);
m_listVocation.SetExtendedStyle(dwExStyle);
m_listArea.InsertColumn(0,"地区ID",LVCFMT_CENTER,50);
m_listArea.InsertColumn(1,"地区名称",LVCFMT_CENTER,90);
m_listApproach.InsertColumn(0,"认识途径ID",LVCFMT_CENTER,50);
m_listApproach.InsertColumn(1,"认识途径名称",LVCFMT_CENTER,90);
m_listProfession.InsertColumn(0,"职位ID",LVCFMT_CENTER,50);
m_listProfession.InsertColumn(1,"职位",LVCFMT_CENTER,90);
m_listVocation.InsertColumn(0,"行业ID",LVCFMT_CENTER,50);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -