?? 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 + -