?? crdbsdlg.cpp
字號:
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);
RefreshProfComboData();
}
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::OnBtnVocationMod()
{
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);
RefreshVocComboData();
}
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::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::OnBtnProfessionDel()
{
int nItem=m_listProfession.GetNextItem(-1,LVNI_SELECTED);
if(nItem==-1)
{
AfxMessageBox("沒有選擇要刪除的職位信息");
return;
}
int id=atoi(m_listProfession.GetItemText(nItem,0));
TRY
{
CString deletedSql;
deletedSql.Format("delete from profession_info_tab where profession_id= %d",id);
m_db.ExecuteSQL(deletedSql);
m_listProfession.DeleteItem(nItem);
RefreshProfComboData();
}
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::OnBtnVocationDel()
{
int nItem=m_listVocation.GetNextItem(-1,LVNI_SELECTED);
if(nItem==-1)
{
AfxMessageBox("沒有選擇要刪除的行業信息");
return;
}
int id=atoi(m_listVocation.GetItemText(nItem,0));
TRY
{
CString deletedSql;
deletedSql.Format("delete from vocation_info_tab where vocation_id= %d",id);
m_db.ExecuteSQL(deletedSql);
m_listVocation.DeleteItem(nItem);
RefreshVocComboData();
}
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::OnBtnHrAdd()
{
if(!UpdateData())
return;
if(m_strName.IsEmpty())
{
AfxMessageBox("姓名不能為空");
return;
}
TRY
{
m_db.BeginTrans();
CRecordset rs(&m_db);
CString sql;
rs.Open(CRecordset::dynaset,"Select max(id) from customer_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 ;
// }
sql.Format("call add_customer_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);
sql.Format("Select id from customer_info_tab where "
"name = '%s'",m_strName);
rs.Open(CRecordset::dynaset,sql);
if(!rs.IsEOF()) {
CDBVariant var;
rs.GetFieldValue((short)0, var, SQL_C_SLONG);
if (var.m_dwType!= DBVT_NULL)
newID = var.m_iVal;
}
rs.Close();
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);
m_db.Rollback();
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
m_db.Rollback();
}
END_CATCH
}
void CCRDBSDlg::OnClickListHr(NMHDR* pNMHDR, LRESULT* pResult)
{
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);
UpdateData(FALSE);
}
*pResult = 0;
}
void CCRDBSDlg::OnBtnHrMod()
{
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_customer_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,10,m_strMemo);
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
m_db.Rollback();
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
m_db.Rollback();
}
END_CATCH
}
void CCRDBSDlg::OnBtnHrDel()
{
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 deletedSql;
deletedSql.Format("delete from customer_info_tab where id=%d",id);
m_db.ExecuteSQL(deletedSql);
m_listHR.DeleteItem(nItem);
m_db.CommitTrans();
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
m_db.Rollback();
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
m_db.Rollback();
}
END_CATCH
}
void CCRDBSDlg::OnBtnHrQuery()
{
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 customer_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 CCRDBSDlg::OnBtnDetailQuery()
{
CDetailQueryDlg dlg;
dlg.m_pDB=&m_db;
dlg.DoModal();
}
void CCRDBSDlg::OnBtnStaticQuery()
{
CStatQueryDlg dlg;
dlg.m_pDB=&m_db;
dlg.DoModal();
}
void CCRDBSDlg::OnSysExit()
{
CDialog::OnCancel();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -