⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crdbsdlg.cpp

📁 用ASP做的客户管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	 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 + -