?? passagerinfo.cpp
字號:
// PassagerInfo.cpp : 實現文件
//
#include "stdafx.h"
#include "TicketOffice.h"
#include "PassagerInfo.h"
#include ".\passagerinfo.h"
// CPassagerInfo 對話框
IMPLEMENT_DYNAMIC(CPassagerInfo, CDialog)
CPassagerInfo::CPassagerInfo(CWnd* pParent /*=NULL*/)
: CDialog(CPassagerInfo::IDD, pParent)
, m_CardID(_T(""))
, m_NameC(_T(""))
, m_NameE(_T(""))
, m_Tel(_T(""))
{
m_pDlg = NULL;
m_pCardID = NULL;
}
CPassagerInfo::~CPassagerInfo()
{
}
void CPassagerInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_CardID);
DDX_Text(pDX, IDC_EDIT2, m_NameC);
DDX_Text(pDX, IDC_EDIT3, m_NameE);
DDX_Control(pDX, IDC_COMBO1, m_SexCombo);
DDX_Text(pDX, IDC_EDIT6, m_Tel);
}
BEGIN_MESSAGE_MAP(CPassagerInfo, CDialog)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
END_MESSAGE_MAP()
// CPassagerInfo 消息處理程序
BOOL CPassagerInfo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加額外的初始化
m_SexCombo.AddString("男");
m_SexCombo.AddString("女");
m_SexCombo.SetCurSel(0);
if( m_pCardID != NULL )
m_CardID = *m_pCardID;
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁應返回 FALSE
}
// 添加旅客信息
bool CPassagerInfo::AddPassangerInfo()
{
_ConnectionPtr pConnection;
_RecordsetPtr pRecordset;
try
{
HRESULT hr;
// 創建Connection對象
hr = pConnection.CreateInstance("ADODB.Connection");
if( SUCCEEDED( hr ) )
{
// 連接數據庫
hr = pConnection->Open(m_pDlg->m_DBData.Linkbuf.GetBuffer(),
m_pDlg->m_DBData.UserName.GetBuffer(),m_pDlg->m_DBData.PassWord.GetBuffer(),
adModeUnknown);
}
else
{
MessageBox("創建數據庫連接失敗","失敗",MB_OK);
return false;
}
}
catch( ... )
{
MessageBox( "連接數據庫失敗","失敗",MB_OK);
return false;
}
CString temp;
try
{
// 生成Recordset實例
pRecordset.CreateInstance("ADODB.Recordset");
temp.Format("SELECT * FROM PassagerInfo WHERE (IDCard = '%s')",m_CardID);
pRecordset->Open( temp.GetBuffer(),
_variant_t((IDispatch*)pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch( _com_error * e )
{
pConnection->Close();
MessageBox( e->ErrorMessage(),"異常",MB_OK );
return false;
}
if( pRecordset->adoEOF )
{
// 沒有改旅客的信息,需要添加
try
{
pRecordset->AddNew();
pRecordset->PutCollect( "IDCard", _variant_t(m_CardID) );
pRecordset->PutCollect( "Name", _variant_t(m_NameC) );
pRecordset->PutCollect( "NameE", _variant_t(m_NameE) );
if( m_SexCombo.GetCurSel() == 0 )
temp = "男";
else
temp = "女";
pRecordset->PutCollect( "Sex", _variant_t(temp) );
pRecordset->PutCollect( "Tel", _variant_t(m_Tel) );
pRecordset->Update();
}
catch(...)
{
MessageBox("添加記錄異常","異常",MB_OK );
pRecordset->Close();
pConnection->Close();
return false;
}
}
try
{
pRecordset->Close();
pConnection->Close();
}
catch( _com_error * e )
{
MessageBox(e->ErrorMessage(),"失敗",MB_OK );
}
return true;
}
void CPassagerInfo::OnBnClickedCancel()
{
// TODO: 在此添加控件通知處理程序代碼
OnCancel();
}
void CPassagerInfo::OnBnClickedOk()
{
if( UpdateData() == false )
return;
if( AddPassangerInfo() )
{
if( m_pCardID != NULL )
*m_pCardID = m_CardID;
MessageBox("信息添加成功");
}
else
{
if( m_pCardID != NULL )
*m_pCardID = "";
MessageBox("信息添加失敗");
}
OnOK();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -