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

📄 detailquerydlg.cpp

📁 用ASP做的客户管理系统
💻 CPP
字号:
// DetailQueryDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CRDBS.h"
#include "DetailQueryDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDetailQueryDlg dialog


CDetailQueryDlg::CDetailQueryDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDetailQueryDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDetailQueryDlg)
	m_strSelectedArea = _T("");
	m_strSelectedApproach = _T("");
	m_strSelectedProfession = _T("");
	m_strSelectedVocation = _T("");
	//}}AFX_DATA_INIT
}


void CDetailQueryDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDetailQueryDlg)
	DDX_Control(pDX, IDC_LIST_HR, m_listHR);
	DDX_Control(pDX, IDC_COMBO_VOCATION, m_comboVocation);
	DDX_Control(pDX, IDC_COMBO_PROFESSION, m_comboProfession);
	DDX_Control(pDX, IDC_COMBO_APPROACH, m_comboApproach);
	DDX_Control(pDX, IDC_COMBO_AREA, m_comboArea);
	DDX_CBString(pDX, IDC_COMBO_AREA, m_strSelectedArea);
	DDX_CBString(pDX, IDC_COMBO_APPROACH, m_strSelectedApproach);
	DDX_CBString(pDX, IDC_COMBO_PROFESSION, m_strSelectedProfession);
	DDX_CBString(pDX, IDC_COMBO_VOCATION, m_strSelectedVocation);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDetailQueryDlg, CDialog)
	//{{AFX_MSG_MAP(CDetailQueryDlg)
		// NOTE: the ClassWizard will add message map macros here
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDetailQueryDlg message handlers

BOOL CDetailQueryDlg::OnInitDialog()
{
CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
		LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;

	m_listHR.SetExtendedStyle(dwExStyle);
	
	//初始客户信息列表控件
	//添加客户ID列
	LV_COLUMN lvColumn;
	lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
	lvColumn.fmt = LVCFMT_CENTER;
	lvColumn.cx = 60;
	lvColumn.iSubItem = 0;     
	lvColumn.pszText = "客户ID";
	m_listHR.InsertColumn(0, &lvColumn);
	//添加姓名名称列
	lvColumn.cx = 80;  
	lvColumn.iSubItem = 1; 
	lvColumn.pszText = "姓名";
	m_listHR.InsertColumn(1, &lvColumn);
	//添加所在地区列
	lvColumn.cx = 80;  
	lvColumn.iSubItem = 2; 
	lvColumn.pszText = "所在地区";
	m_listHR.InsertColumn(2, &lvColumn);  
	//添加职业列
	lvColumn.cx = 80;  
	lvColumn.iSubItem = 3; 
	lvColumn.pszText = "职业";
	m_listHR.InsertColumn(3, &lvColumn);
	//添加行业列
	lvColumn.cx = 80;
	lvColumn.iSubItem = 4;     
	lvColumn.pszText = "行业";
	m_listHR.InsertColumn(4, &lvColumn);
	//添加所在单位列
	lvColumn.cx = 80;
	lvColumn.iSubItem = 5;     
	lvColumn.pszText = "所在单位";
	m_listHR.InsertColumn(5, &lvColumn);
	//添加结识途径列
	lvColumn.cx = 80;  
	lvColumn.iSubItem = 6; 
	lvColumn.pszText = "结识途径";
	m_listHR.InsertColumn(6, &lvColumn);
	//添加e-mail列
	lvColumn.cx = 80;  
	lvColumn.iSubItem = 7; 
	lvColumn.pszText = "e-mail";
	m_listHR.InsertColumn(7, &lvColumn);  
	//添加固定电话列
	lvColumn.cx = 80;  
	lvColumn.iSubItem = 8; 
	lvColumn.pszText = "固定电话";
	m_listHR.InsertColumn(8, &lvColumn);
	//添加移动电话列
	lvColumn.cx = 80;
	lvColumn.iSubItem = 9;     
	lvColumn.pszText = "移动电话";
	m_listHR.InsertColumn(9, &lvColumn);
	//添加爱好列
	lvColumn.cx = 80;
	lvColumn.iSubItem = 10;     
	lvColumn.pszText = "爱好";
	m_listHR.InsertColumn(10, &lvColumn);
	//添加说明列
	lvColumn.cx = 140;
	lvColumn.iSubItem = 11;     
	lvColumn.pszText = "说明";
	m_listHR.InsertColumn(11, &lvColumn);
    InitComboData();
	return TRUE;
}

void CDetailQueryDlg::InitComboData()
{
  TRY
  {
	  CRecordset rs(m_pDB);
	  rs.Open(CRecordset::dynaset,"select * from area_info_tab");
	  while(!rs.IsEOF())
	  {
		  CString strName;
		  rs.GetFieldValue(1,strName);
		  m_comboArea.AddString(strName);
		  rs.MoveNext();
	  }
	  rs.Close();
	  m_comboArea.SetCurSel(0);

	   rs.Open(CRecordset::dynaset,"select * from approach_info_tab");
	  while(!rs.IsEOF())
	  {
		  CString strName;
		  rs.GetFieldValue(1,strName);
		  m_comboApproach.AddString(strName);
		  rs.MoveNext();
	  }
	  rs.Close();
	  m_comboApproach.SetCurSel(0);

	   rs.Open(CRecordset::dynaset,"select * from profession_info_tab");
	  while(!rs.IsEOF())
	  {
		  CString strName;
		  rs.GetFieldValue(1,strName);
		  m_comboProfession.AddString(strName);
		  rs.MoveNext();
	  }
	  rs.Close();
	  m_comboProfession.SetCurSel(0);

	   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);
	  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 CDetailQueryDlg::RefreshCtrlData(CString sql)
{
  if(!m_pDB->IsOpen())
  {
	  MessageBox("数据库未打开");
	  return;
  }
  m_listHR.DeleteAllItems();
  TRY
  {
	  CRecordset rs(m_pDB);
	  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 CDetailQueryDlg::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);	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -