亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? changefidlg.cpp

?? 使用Visual C++ .NET實(shí)現(xiàn)簡單了一個票務(wù)管理系統(tǒng)
?? CPP
字號:
// ChangeFiDlg.cpp : 實(shí)現(xiàn)文件
//

#include "stdafx.h"
#include "TicketOffice.h"
#include "ChangeFiDlg.h"
#include ".\changefidlg.h"


// CChangeFiDlg 對話框

IMPLEMENT_DYNAMIC(CChangeFiDlg, CDialog)
CChangeFiDlg::CChangeFiDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CChangeFiDlg::IDD, pParent)
	, m_UseString(_T(""))
	, m_Fi(_T(""))
	, m_DateString(_T(""))
{
	m_pFI = NULL;
	m_pTime = NULL;
}

CChangeFiDlg::~CChangeFiDlg()
{
}

void CChangeFiDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_FIINFOLIST, m_FiInfo);
	DDX_Control(pDX, IDC_DATETIMEPICKER1, m_Date);
	DDX_Control(pDX, IDC_COMBO1, m_SltType);
	DDX_Text(pDX, IDC_EDIT1, m_UseString);
	DDX_Text(pDX, IDC_EDIT2, m_Fi);
	DDX_Text(pDX, IDC_EDIT3, m_DateString);
	DDX_Control(pDX, IDC_BUTTON3, m_kChangeBt);
}


BEGIN_MESSAGE_MAP(CChangeFiDlg, CDialog)
	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
END_MESSAGE_MAP()


// CChangeFiDlg 消息處理程序
// 設(shè)置航班號和時(shí)間
void CChangeFiDlg::LockValue( CString &fi, COleDateTime &t )
{
	m_pFI = &fi;
	m_pTime = &t;
	m_CurSltTime = t;
}

BOOL CChangeFiDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_FiInfo.SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP );
	m_FiInfo.InsertColumn(0,"航班號",LVCFMT_LEFT,50);
	m_FiInfo.InsertColumn(1,"日期",LVCFMT_CENTER,80);
	m_FiInfo.InsertColumn(2,"始發(fā)城市",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(3,"目的城市",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(4,"起飛機(jī)場",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(5,"降落機(jī)場",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(6,"起飛時(shí)間",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(7,"降落時(shí)間",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(8,"機(jī)尾號",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(9,"最大人數(shù)",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(10,"實(shí)際人數(shù)",LVCFMT_LEFT,61);
	m_FiInfo.InsertColumn(11,"距離",LVCFMT_LEFT,61);

	m_SltType.AddString("目的地");
	m_SltType.AddString("航班號");
	m_SltType.AddString("起飛地");
	m_SltType.SetCurSel(0);

	if( m_pFI != NULL && m_pTime != NULL )
	{
		m_Fi = *m_pFI;
		m_DateString.Format("%d-%02d-%02d",m_CurSltTime.GetYear(),m_CurSltTime.GetMonth(),m_CurSltTime.GetDay());
		UpdateData(false);
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	// 異常: OCX 屬性頁應(yīng)返回 FALSE
}

void CChangeFiDlg::OnBnClickedButton1()
{
	if( UpdateData() == false )
		return;
	CString sql,temp;
	COleDateTime t;
	m_Date.GetTime(t);
	m_CurSltTime = t;
	temp.Format("DateSerial(%d,%d,%d)",t.GetYear(),t.GetMonth(),t.GetDay() );
	sql.Format("SELECT * FROM FlightIDInfo WHERE (Date = %s)",temp);

	if( m_UseString != "" )
	{
		temp = "";
		switch( m_SltType.GetCurSel() )
		{
		case 0:
			temp.Format("(LandingPlace LIKE '%%%s%%')", m_UseString);
			break;
		case 1:
			temp.Format("(FlightID LIKE '%%%s%%')", m_UseString);
			break;
		case 2:
			temp.Format("(TakeoffPlace LIKE '%%%s%%')", m_UseString);
			break;
		default:
			break;
		}
		if( temp != "" )
		{
			sql = sql + " AND " + temp;
		}
	}
	LoadInfo( sql );
}
// 讀入航班計(jì)劃,寫入List
bool CChangeFiDlg::LoadInfo(CString sql)
{
	if( sql == "" )
		return false;

	_ConnectionPtr pConnection;
	_RecordsetPtr pRecordset;

	try
	{
		HRESULT hr;

		// 創(chuàng)建Connection對象
		hr = pConnection.CreateInstance("ADODB.Connection");
		if( SUCCEEDED( hr ) )
		{
			// 連接數(shù)據(jù)庫
			hr = pConnection->Open(m_pDlg->m_DBData.Linkbuf.GetBuffer(),
				m_pDlg->m_DBData.UserName.GetBuffer(),m_pDlg->m_DBData.PassWord.GetBuffer(),
				adModeUnknown);
		}
		else
		{
			MessageBox("創(chuàng)建數(shù)據(jù)庫連接失敗","失敗",MB_OK);
			return false;
		}
	}
	catch( ... )
	{
		MessageBox( "連接數(shù)據(jù)庫失敗","失敗",MB_OK);
		return false;
	}

	try
	{
		// 生成Recordset實(shí)例
		pRecordset.CreateInstance("ADODB.Recordset");

		pRecordset->Open( sql.GetBuffer(),
			_variant_t((IDispatch*)pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
	}
	catch( _com_error * e )
	{
		pConnection->Close();
		MessageBox( e->ErrorMessage(),"異常",MB_OK );
		return false;
	}

	m_FiInfo.DeleteAllItems();

	_variant_t value;
	COleDateTime t;
	CString temp;
	try
	{
		if( !pRecordset->BOF )
			pRecordset->MoveFirst();
		int i = -1;
		while( !pRecordset->adoEOF )
		{
			i++;
			value = pRecordset->GetCollect("FlightID");
			if( value.vt != VT_NULL )
				temp = value.bstrVal;
			else
				temp = "";
			m_FiInfo.InsertItem( i, temp, 0 );

			value = pRecordset->GetCollect("Date");
			if( value.vt != VT_NULL )
			{
				t = value.date;
				temp.Format("%d-%02d-%02d",t.GetYear(),t.GetMonth(),t.GetDay());
			}
			else
				temp = "";
			m_FiInfo.SetItemText( i, 1, temp );
			value = pRecordset->GetCollect("TakeoffPlace");
			if( value.vt != VT_NULL )
				temp = value.bstrVal;
			else
				temp = "";
			m_FiInfo.SetItemText( i, 2, temp );
			value = pRecordset->GetCollect("LandingPlace");
			if( value.vt != VT_NULL )
				temp = value.bstrVal;
			else
				temp = "";
			m_FiInfo.SetItemText( i, 3, temp );
			value = pRecordset->GetCollect("TakeoffAir");
			if( value.vt != VT_NULL )
				temp = value.bstrVal;
			else
				temp = "";
			m_FiInfo.SetItemText( i, 4, temp );
			value = pRecordset->GetCollect("LandingAir");
			if( value.vt != VT_NULL )
				temp = value.bstrVal;
			else
				temp = "";
			m_FiInfo.SetItemText( i, 5, temp );
			value = pRecordset->GetCollect("TakeoffTime");
			if( value.vt != VT_NULL )
			{
				t = value.date;
				temp.Format("%02d:%02d",t.GetHour(),t.GetMinute());
			}
			else
				temp = "";
			m_FiInfo.SetItemText( i, 6, temp );
			value = pRecordset->GetCollect("LandingTime");
			if( value.vt != VT_NULL )
			{
				t = value.date;
				temp.Format("%02d:%02d",t.GetHour(),t.GetMinute());
			}
			else
				temp = "";
			m_FiInfo.SetItemText( i, 7, temp );

			value = pRecordset->GetCollect("Plane");
			if( value.vt != VT_NULL )
				temp = value.bstrVal;
			else
				temp = "";
			m_FiInfo.SetItemText( i, 8, temp );
			value = pRecordset->GetCollect("MaxPassengerNum");
			if( value.vt != VT_NULL )
				temp.Format("%d",value.lVal);
			else
				temp = "0";
			m_FiInfo.SetItemText( i, 9, temp );
			value = pRecordset->GetCollect("PassengerNum");
			if( value.vt != VT_NULL )
				temp.Format("%d",value.lVal);
			else
				temp = "0";
			m_FiInfo.SetItemText( i, 10, temp );
			value = pRecordset->GetCollect("Distance");
			if( value.vt != VT_NULL )
				temp.Format("%d",value.lVal);
			else
				temp = "0";
			m_FiInfo.SetItemText( i, 11, temp );

			pRecordset->MoveNext();
		}
	}
	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 CChangeFiDlg::OnBnClickedButton3()
{
	int k = GetCurSltCount();
	if( k == -1 )
	{
		MessageBox("必須選擇航班");
		return;
	}
	m_Fi = m_FiInfo.GetItemText( k, 0 );
	// 變更機(jī)票預(yù)定數(shù)量
	if( ChangeTicketNum( m_Fi, m_CurSltTime, 1 ) )
	{
		m_DateString.Format("%d-%02d-%02d",m_CurSltTime.GetYear(),m_CurSltTime.GetMonth(),m_CurSltTime.GetDay());
		UpdateData(false);
		MessageBox( "航班已變更" );
		OnBnClickedButton1();
		// 防止多次修改
		m_kChangeBt.EnableWindow(false);
	}
	else
	{
		MessageBox("訂票失敗");
		UpdateData(true);
	}
}
void CChangeFiDlg::OnBnClickedOk()
{
	// 變更機(jī)票預(yù)定數(shù)量
	ChangeTicketNum( *m_pFI, *m_pTime, -1 );
	*m_pFI = m_Fi;
	*m_pTime = m_CurSltTime;
	OnOK();
}
void CChangeFiDlg::OnBnClickedCancel()
{
	// 變更機(jī)票預(yù)定數(shù)量
	ChangeTicketNum( m_Fi, m_CurSltTime, -1 );
	OnCancel();
}

// 得到當(dāng)前選擇項(xiàng)
int CChangeFiDlg::GetCurSltCount()
{
	// 是否有選中項(xiàng)
	if(m_FiInfo.GetSelectedCount() <= 0)
		return -1;

	for(int i =0;i<m_FiInfo.GetItemCount();i++ )
	{
		if(m_FiInfo.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)//選中狀態(tài)。。
		{
			return i;
		}
	}

	return -1;  // 沒有找到選中項(xiàng)
}
// 更改指定航班的機(jī)票數(shù)量
bool CChangeFiDlg::ChangeTicketNum( CString fi, COleDateTime date, int num )
{
	_ConnectionPtr pConnection;
	_RecordsetPtr pRecordset;

	try
	{
		HRESULT hr;

		// 創(chuàng)建Connection對象
		hr = pConnection.CreateInstance("ADODB.Connection");
		if( SUCCEEDED( hr ) )
		{
			// 連接數(shù)據(jù)庫
			hr = pConnection->Open(m_pDlg->m_DBData.Linkbuf.GetBuffer(),
				m_pDlg->m_DBData.UserName.GetBuffer(),m_pDlg->m_DBData.PassWord.GetBuffer(),
				adModeUnknown);
		}
		else
		{
			MessageBox("創(chuàng)建數(shù)據(jù)庫連接失敗","失敗",MB_OK);
			return false;
		}
	}
	catch( ... )
	{
		MessageBox( "連接數(shù)據(jù)庫失敗","失敗",MB_OK);
		return false;
	}

	CString temp;
	CString sql;
	try
	{
		// 生成Recordset實(shí)例
		pRecordset.CreateInstance("ADODB.Recordset");
		temp.Format("DateSerial(%d,%d,%d)",date.GetYear(),date.GetMonth(),date.GetDay() );

		sql.Format("SELECT * FROM FlightIDInfo WHERE (Date = %s) AND (FlightID='%s')",temp,fi);
		pRecordset->Open( sql.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 )
	{
		_variant_t value;
		long max = 0;
		long cursum = 0;
		try
		{
			value = pRecordset->GetCollect("MaxPassengerNum");
			if( value.vt != VT_NULL )
				max = value.lVal;
			else
				max = 0;
			value = pRecordset->GetCollect("PassengerNum");
			if( value.vt != VT_NULL )
				cursum = value.lVal;
			else
				cursum = 0;

			cursum += num;
			if( cursum > max )
			{
				MessageBox("機(jī)票已經(jīng)售完","票已售完");
				pRecordset->Close();
				pConnection->Close();
				return false;
			}
			if( cursum < 0 )
			{
				MessageBox("沒有人訂過機(jī)票");
				pRecordset->Close();
				pConnection->Close();
				return true;
			}
			pRecordset->Update();
			pRecordset->PutCollect( "PassengerNum", _variant_t(cursum) );
			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;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品av| 在线不卡中文字幕| 亚洲色图在线视频| 一本久道久久综合中文字幕| 亚洲欧美自拍偷拍色图| 91国在线观看| 人人狠狠综合久久亚洲| 精品免费99久久| 成人黄色免费短视频| 亚洲精品国产a久久久久久 | 欧美韩国日本不卡| 99久久99久久综合| 午夜欧美电影在线观看| 欧美va亚洲va国产综合| 国产69精品久久777的优势| 最新国产成人在线观看| 欧美日韩精品电影| 国产露脸91国语对白| 自拍偷拍亚洲激情| 欧美一区二区三区啪啪| 国产精品亚洲专一区二区三区| 自拍av一区二区三区| 欧美日韩一区 二区 三区 久久精品| 男人的天堂久久精品| 国产精品天天摸av网| 欧美日韩色一区| 国产·精品毛片| 午夜精品一区二区三区电影天堂| 中文字幕在线不卡| 欧美中文一区二区三区| 激情成人综合网| 亚洲精品国产无天堂网2021 | 色呦呦国产精品| 九色综合狠狠综合久久| 亚洲婷婷在线视频| 精品国产区一区| 欧亚洲嫩模精品一区三区| 久99久精品视频免费观看| 一区二区三区中文字幕电影 | 日韩欧美国产午夜精品| 一本色道久久综合亚洲精品按摩| 精品综合久久久久久8888| 一区二区三区中文在线| 国产女人18毛片水真多成人如厕 | 国产iv一区二区三区| 亚洲成人av福利| 中文字幕日韩欧美一区二区三区| 精品国产乱码久久久久久免费| 色婷婷精品大视频在线蜜桃视频| 国内精品第一页| 日韩国产欧美在线视频| 樱桃国产成人精品视频| 中文字幕不卡的av| 精品粉嫩超白一线天av| 欧美日韩国产bt| 在线精品视频一区二区| 成人美女视频在线观看| 国产永久精品大片wwwapp| 日韩电影免费在线看| 亚洲一区在线观看免费| 亚洲视频一二区| 中文字幕中文字幕一区二区| 精品福利一区二区三区免费视频| 欧美日韩国产一级| 欧美亚洲尤物久久| 91激情五月电影| 色综合天天综合狠狠| 不卡在线观看av| 99久久国产免费看| 99精品热视频| 91美女在线视频| 91在线国产观看| 日韩美女一区二区三区| 日韩一区二区三区四区| 这里是久久伊人| 日韩欧美一二三| 精品区一区二区| 久久久99久久| 国产精品久线在线观看| 国产精品二三区| 亚洲欧美日韩小说| 亚洲最大色网站| 午夜视频一区在线观看| 午夜久久电影网| 日本少妇一区二区| 国产一区二区福利| 成人av在线播放网址| 91亚洲资源网| 欧美性感一类影片在线播放| 欧美视频在线一区| 欧美一区二区三区啪啪| 26uuu亚洲综合色欧美| 国产欧美日韩在线视频| 中文字幕在线不卡视频| 亚洲一区二区在线免费看| 日韩激情一二三区| 国产剧情一区在线| 色综合久久久久久久久久久| 欧美午夜精品一区二区三区| 日韩一区二区在线播放| 日本一区二区三区久久久久久久久不 | 水蜜桃久久夜色精品一区的特点| 日韩精品一级二级| 国产精品一二一区| 99亚偷拍自图区亚洲| 欧美性三三影院| 精品久久久久久久人人人人传媒 | 日韩亚洲电影在线| 国产亚洲精品福利| 亚洲精品写真福利| 麻豆国产一区二区| 99国产精品一区| 日韩午夜在线影院| √…a在线天堂一区| 99国产精品久| 欧美男人的天堂一二区| 国产亚洲精品bt天堂精选| 一二三四区精品视频| 久久精品久久精品| 色吧成人激情小说| 精品国产一区二区三区久久影院 | 国产精品18久久久久久久网站| 99精品国产热久久91蜜凸| 4hu四虎永久在线影院成人| 欧美精品一区二| 亚洲一区二区三区在线| 国产成人av电影免费在线观看| 欧美影院一区二区三区| 久久久久99精品一区| 午夜视频一区二区三区| 成人av网站在线观看| 日韩写真欧美这视频| 夜夜夜精品看看| 丁香六月久久综合狠狠色| 555www色欧美视频| 亚洲色图.com| 丁香六月综合激情| 欧美精品一区二区三区在线| 亚洲不卡在线观看| 色综合久久久久久久久久久| 久久精品无码一区二区三区| 日本人妖一区二区| 欧美日韩久久一区二区| 国产精品黄色在线观看| 国产精品综合二区| 日韩欧美国产一区在线观看| 亚洲高清久久久| 91电影在线观看| 毛片av一区二区三区| 日本韩国精品一区二区在线观看| 国产香蕉久久精品综合网| 另类小说综合欧美亚洲| 欧美日韩国产电影| 亚洲高清免费视频| 在线观看日韩一区| 亚洲乱码国产乱码精品精98午夜| 成人av片在线观看| 国产精品久久久久国产精品日日| 精品综合免费视频观看| 日韩免费一区二区三区在线播放| 亚洲成人免费看| 欧美性感一类影片在线播放| 一区二区三区在线免费视频| 99re这里只有精品首页| 国产精品久久毛片a| 成人免费视频app| 国产精品久久免费看| 99久久99久久综合| 一区二区在线观看不卡| 日本电影亚洲天堂一区| 亚洲综合精品自拍| 欧美日韩免费一区二区三区视频| 亚洲在线中文字幕| 91麻豆精品91久久久久同性| 蜜臀久久久久久久| ww久久中文字幕| 国产精品亚洲人在线观看| 久久精品亚洲麻豆av一区二区 | 精品福利视频一区二区三区| 韩日欧美一区二区三区| 久久久久久影视| 成人免费av网站| 亚洲一区日韩精品中文字幕| 欧美高清激情brazzers| 久久av资源站| 国产精品久久久久久久久免费相片| 成人成人成人在线视频| 亚洲综合在线视频| 欧美一区二区视频在线观看2020| 国产在线一区观看| 国产精品盗摄一区二区三区| 色综合久久88色综合天天6| 日韩精品福利网| 久久精品亚洲麻豆av一区二区| 99久久99久久免费精品蜜臀| 午夜视频一区二区| 久久久.com| 欧美怡红院视频| 精品一区二区三区免费视频| 国产精品久久午夜|