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

📄 dlgclient.cpp

📁 1.解压后在sql2000中建立数据库flight,然后用本文件中的flight文件进行还原 2.数据库连接是用ADO实现的,如果更改连接,打开后对两个程序的ADOConn.cpp进行修改就行(t
💻 CPP
字号:
// DlgClient.cpp : implementation file
//

#include "stdafx.h"
#include "AirLine.h"
#include "DlgClient.h"
#include "MainFrm.h"
#include "AirLineDoc.h"
#include "AirLineView.h"
#include "ADOConn.h"


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

/////////////////////////////////////////////////////////////////////////////
// CDlgClient dialog


CDlgClient::CDlgClient(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgClient::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgClient)
	m_name = _T("");
	m_sfzh = _T("");
	m_work = _T("");
	//}}AFX_DATA_INIT
}


void CDlgClient::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgClient)
	DDX_Control(pDX, IDC_COMBO2, m_sex);
	DDX_Control(pDX, IDC_ListClient, m_ClientList);
	DDX_Text(pDX, IDC_EdtName, m_name);
	DDX_Text(pDX, IDC_EdtSfzh, m_sfzh);
	DDX_Text(pDX, IDC_EdtWork, m_work);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgClient, CDialog)
	//{{AFX_MSG_MAP(CDlgClient)
	ON_BN_CLICKED(IDC_BtnAdd, OnBtnAdd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgClient message handlers

BOOL CDlgClient::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_ClientList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_ClientList.InsertColumn(0,"编号",LVCFMT_LEFT,50);
	m_ClientList.InsertColumn(1,"姓名",LVCFMT_LEFT,60);
	m_ClientList.InsertColumn(2,"性别",LVCFMT_LEFT,50);
	m_ClientList.InsertColumn(3,"身份证号",LVCFMT_LEFT,160);
	m_ClientList.InsertColumn(4,"工作单位",LVCFMT_LEFT,130);
	ShowClient();
	// TODO: Add extra initialization here
	m_sex.SetCurSel(0);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgClient::ShowClient()
{
	CString strRow;
	ADOConn adoConn;
	int i=0;
	adoConn.OnInitADOConn();
	_RecordsetPtr m_pRs;
	_bstr_t vsql;
	vsql="select * from passenger";
	try{
		m_pRs=adoConn.GetRecordSet(vsql);
		while(!m_pRs->adoEOF)
		{
			strRow.Format("%d",i+1);
			m_ClientList.InsertItem(i,strRow);
			m_ClientList.SetItemText(i,1,(LPCTSTR)(_bstr_t)m_pRs->GetCollect(long(0)));
			m_ClientList.SetItemText(i,2,(LPCTSTR)(_bstr_t)m_pRs->GetCollect(long(1)));
			m_ClientList.SetItemText(i,3,(LPCTSTR)(_bstr_t)m_pRs->GetCollect(long(2)));
			m_ClientList.SetItemText(i,4,(LPCTSTR)(_bstr_t)m_pRs->GetCollect(long(3)));
			m_pRs->MoveNext();
			i++;
		}
	}catch(_com_error e){
		AfxMessageBox(e.Description());
	}
	adoConn.ExitConnect();
}

void CDlgClient::OnOK() 
{
	// TODO: Add extra validation here
	CDialog::OnOK();
}

void CDlgClient::OnBtnAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CString strSex;
	m_sex.GetLBText(m_sex.GetCurSel(),strSex);
	if((m_name=="") || (strSex=="") || (m_sfzh=="") || (m_work==""))
		AfxMessageBox("请把信息输入完整!");
	else if(m_sfzh.GetLength()<18 || m_sfzh.Mid(6,2)!="19")
		MessageBox("身份证号信息输入错误!");
	else
	{
		ADOConn adoConn;
		int i=0;
		adoConn.OnInitADOConn();
		_RecordsetPtr m_pRs;
		_bstr_t vsql;
		vsql="insert into passenger values('"+m_name+"','"+strSex+"','"+m_sfzh+"','"
			+m_work+"')";
		try{
			adoConn.ExecuteSQL(vsql);
			MessageBox("添加成功!");
		}catch(_com_error e){
			AfxMessageBox(e.Description());
		}
		EndDialog(0);
	}
}

⌨️ 快捷键说明

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