📄 crdbsdlg.cpp
字号:
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 CCRDBSDlg::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 CCRDBSDlg::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 CCRDBSDlg::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 CCRDBSDlg::OnClickListArea(NMHDR* pNMHDR, LRESULT* pResult)
{
int nItem = m_listArea.GetNextItem(-1, LVNI_SELECTED);
if(nItem != -1){
//从列表框控件中获取选择的地区信息.
CString name = m_listArea.GetItemText(nItem,1);
//将选择的地区信息显示在ID为IDC_EDIT_CONFIG_AREA的编辑框控件中
GetDlgItem(IDC_EDIT_CONFIG_AREA)->SetWindowText(name);
}
*pResult = 0;
}
void CCRDBSDlg::OnClickListHr(NMHDR* pNMHDR, LRESULT* pResult)
{
int nItem = m_listHR.GetNextItem(-1, LVNI_SELECTED);
if(nItem != -1){
//从列表框控件的第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);
//把设备列表框控件中当前已选择行的数据,更新到客户信息参数的控件中.
UpdateData(FALSE);
}
*pResult = 0;
}
void CCRDBSDlg::OnClickListProfession(NMHDR* pNMHDR, LRESULT* pResult)
{
int nItem = m_listProfession.GetNextItem(-1, LVNI_SELECTED);
if(nItem != -1){
//从列表框控件中获取选择的职位信息.
CString name = m_listProfession.GetItemText(nItem,1);
//将选择的职位信息显示在ID为IDC_EDIT_CONFIG_PROFESSION的编辑框控件中
GetDlgItem(IDC_EDIT_CONFIG_PROFESSION)->SetWindowText(name);
}
*pResult = 0;
}
void CCRDBSDlg::OnClickListVocation(NMHDR* pNMHDR, LRESULT* pResult)
{
int nItem = m_listVocation.GetNextItem(-1, LVNI_SELECTED);
if(nItem != -1){
//从列表框控件中获取选择的行业信息.
CString name = m_listVocation.GetItemText(nItem,1);
//将选择的行业信息显示在ID为IDC_EDIT_CONFIG_VOCATION的编辑框控件中
GetDlgItem(IDC_EDIT_CONFIG_VOCATION)->SetWindowText(name);
}
*pResult = 0;
}
void CCRDBSDlg::OnClickListAppraoch(NMHDR* pNMHDR, LRESULT* pResult)
{
int nItem = m_listApproach.GetNextItem(-1, LVNI_SELECTED);
if(nItem != -1){
//从列表框控件中获取选择的结识途径信息.
CString name = m_listApproach.GetItemText(nItem,1);
//将选择的结识途径信息显示在ID为IDC_EDIT_CONFIG_APPROACH的编辑框控件中
GetDlgItem(IDC_EDIT_CONFIG_APPROACH)->SetWindowText(name);
}
*pResult = 0;
}
void CCRDBSDlg::OnBtnAreaAdd()
{
//从界面控件中获取信息更新到控件变量中.
if(!UpdateData())
return;
if(m_strConfigArea.IsEmpty())
return;
TRY{
CRecordset rs(&m_db);
CString sql;
//打开记录集,获取最大的地区ID值.
rs.Open(CRecordset::dynaset,
"Select max(area_id) from area_info_tab");
//设置新添加记录的地区ID值.
int newID = 1;
//如果数据库里面已经有记录了,则新的地区ID是地区ID最大值+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 area_info_tab(area_id,"
"area_name) "
"VALUES("
"%d,'%s')",newID,m_strConfigArea);
TRACE(sql);
m_db.ExecuteSQL(sql);
//向界面中插入新的地区信息.
InsertConfigItem(&m_listArea,newID,m_strConfigArea);
//更新地区信息组合框的数据
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 CCRDBSDlg::OnBtnAreaMod()
{
if(!UpdateData())
return;
if(m_strConfigArea.IsEmpty())
return;
int nItem = m_listArea.GetNextItem(-1, LVNI_SELECTED);
//如果没有选择要修改的纪录,返回.
if(nItem == -1){
AfxMessageBox("没有选择要修改的地区信息");
return;
}
//从列表框控件中获取选择的地区信息.
int id = atoi(m_listArea.GetItemText(nItem,0));
TRY{
CRecordset rs(&m_db);
CString sql;
//更新新的地区信息记录.
sql.Format("update area_info_tab "
"set area_name = '%s' "
"where area_id = %d",m_strConfigArea,id);
TRACE(sql);
m_db.ExecuteSQL(sql);
//修改界面上的值.
m_listArea.SetItemText(nItem,1,m_strConfigArea);
//更新地区信息组合框的数据
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 CCRDBSDlg::OnBtnAreaDel()
{
int nItem = m_listArea.GetNextItem(-1, LVNI_SELECTED);
//如果没有选择要删除的纪录,返回.
if(nItem == -1){
AfxMessageBox("没有选择要删除的地区信息");
return;
}
//从列表框控件中获取选择的地区信息.
int id = atoi(m_listArea.GetItemText(nItem,0));
TRY{
CString deletedSql;
//删除地区信息
deletedSql.Format("delete from area_info_tab where area_id = %d",id);
m_db.ExecuteSQL(deletedSql);
//删除界面上的数据
m_listArea.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 CCRDBSDlg::OnBtnApproachAdd()
{
//从界面控件中获取信息更新到控件变量中.
if(!UpdateData())
return;
if(m_strConfigApproach.IsEmpty())
return;
TRY{
CRecordset rs(&m_db);
CString sql;
//打开记录集,获取最大的结识途径ID值.
rs.Open(CRecordset::dynaset,
"Select max(Approach_id) from Approach_info_tab");
//设置新添加记录的结识途径ID值.
int newID = 1;
//如果数据库里面已经有记录了,则新的结识途径ID是结识途径ID最大值+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 Approach_info_tab(Approach_id,"
"Approach_name) "
"VALUES("
"%d,'%s')",newID,m_strConfigApproach);
TRACE(sql);
m_db.ExecuteSQL(sql);
//向界面中插入新的结识途径信息.
InsertConfigItem(&m_listApproach,newID,m_strConfigApproach);
//更新结识途径信息组合框的数据
RefreshApprComboData();
}
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 CCRDBSDlg::OnBtnApproachMod()
{
if(!UpdateData())
return;
if(m_strConfigApproach.IsEmpty())
return;
int nItem = m_listApproach.GetNextItem(-1, LVNI_SELECTED);
//如果没有选择要修改的纪录,返回.
if(nItem == -1){
AfxMessageBox("没有选择要修改的结识途径信息");
return;
}
//从列表框控件中获取选择的结识途径信息.
int id = atoi(m_listApproach.GetItemText(nItem,0));
TRY{
CRecordset rs(&m_db);
CString sql;
//更新新的结识途径信息记录.
sql.Format("update Approach_info_tab "
"set Approach_name = '%s' "
"where Approach_id = %d",m_strConfigApproach,id);
TRACE(sql);
m_db.ExecuteSQL(sql);
//修改界面上的值.
m_listApproach.SetItemText(nItem,1,m_strConfigApproach);
//更新结识途径信息组合框的数据
RefreshApprComboData();
}
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 CCRDBSDlg::OnBtnApproachDel()
{
int nItem = m_listApproach.GetNextItem(-1, LVNI_SELECTED);
//如果没有选择要删除的纪录,返回.
if(nItem == -1){
AfxMessageBox("没有选择要删除的结识途径信息");
return;
}
//从列表框控件中获取选择的结识途径信息.
int id = atoi(m_listApproach.GetItemText(nItem,0));
TRY{
CString deletedSql;
//删除地区信息
deletedSql.Format("delete from Approach_info_tab where Approach_id = %d",id);
m_db.ExecuteSQL(deletedSql);
//删除界面上的数据
m_listApproach.DeleteItem(nItem);
//更新地区信息数据
RefreshApprComboData();
}
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 CCRDBSDlg::OnBtnProfessionAdd()
{
// TODO: Add your control notification handler code here
if(!UpdateData())
return;
if(m_strConfigProfession.IsEmpty())
return;
TRY{
CRecordset rs(&m_db);
CString sql;
//打开记录集,获取最大的职位ID值.
rs.Open(CRecordset::dynaset,
"Select max(Profession_id) from Profession_info_tab");
//设置新添加记录的职位ID值.
int newID = 1;
//如果数据库里面已经有记录了,则新的职位ID是职位ID最大值+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);
//更新职位信息组合框的数据
RefreshProfComboData();
}
CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -