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

📄 travelview.cpp

📁 数据库实验代码。实现一个旅行管理数据库的应用软件。
💻 CPP
字号:
// travelView.cpp : CtravelView 类的实现
//
#include "string.h"
#include "stdafx.h"
#include "travel.h"
#include "travelDoc.h"
#include "travelView.h"
#include "TravelData.h"
#include "FLIGHTS.h"
#include "FLIGHTDLG.h"
#include "HOTELS.h"
#include "HOTELSDLG.h"
#include "CARS.h"
#include "CARSDLG.h"
#include "CUSTOMERSDLG.h"
#include "CUSTOMERS.h"
#include "Search.h"
#include "PATHDLG.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// 声明全局变量
	TravelData m_dbCust;
	//CRecordSet 
// CtravelView

IMPLEMENT_DYNCREATE(CtravelView, CView)

BEGIN_MESSAGE_MAP(CtravelView, CView)
	// 标准打印命令
	ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
	ON_COMMAND(ID_FILE_OPEN, &CtravelView::OnFileConnect)
	ON_COMMAND(ID_disconnect, &CtravelView::Ondisconnect)
	ON_UPDATE_COMMAND_UI(ID_flight, &CtravelView::OnUpdateflight)
	ON_COMMAND(ID_flight, &CtravelView::Onflight)

	ON_UPDATE_COMMAND_UI(ID_custom, &CtravelView::OnUpdatecustom)
	ON_COMMAND(ID_custom, &CtravelView::Oncustom)
	ON_UPDATE_COMMAND_UI(ID_disconnect, &CtravelView::OnUpdatedisconnect)
	ON_UPDATE_COMMAND_UI(ID_FILE_OPEN, &CtravelView::OnUpdateFileOpen)
	ON_COMMAND(ID_cars, &CtravelView::Oncars)
	ON_UPDATE_COMMAND_UI(ID_cars, &CtravelView::OnUpdatecars)
	ON_UPDATE_COMMAND_UI(ID_rooms, &CtravelView::OnUpdaterooms)
	ON_COMMAND(ID_rooms, &CtravelView::Onrooms)
	ON_COMMAND(ID_32787, &CtravelView::OnSearch)
	ON_UPDATE_COMMAND_UI(ID_32787, &CtravelView::OnUpdateSearch)
	ON_UPDATE_COMMAND_UI(ID_APP_EXIT, &CtravelView::OnUpdateAppExit)
	ON_UPDATE_COMMAND_UI(ID_32788, &CtravelView::OnUpdate32788)
	ON_COMMAND(ID_32788, &CtravelView::On32788)
END_MESSAGE_MAP()

// CtravelView 构造/析构

CtravelView::CtravelView()
{
	// TODO: 在此处添加构造代码
	link=0;
}

CtravelView::~CtravelView()
{
}

BOOL CtravelView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 在此处通过修改
	//  CREATESTRUCT cs 来修改窗口类或样式

	return CView::PreCreateWindow(cs);
}

// CtravelView 绘制

void CtravelView::OnDraw(CDC* /*pDC*/)
{
	CtravelDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	// TODO: 在此处为本机数据添加绘制代码
}


// CtravelView 打印

BOOL CtravelView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// 默认准备
	return DoPreparePrinting(pInfo);
}

void CtravelView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: 添加额外的打印前进行的初始化过程
}

void CtravelView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: 添加打印后进行的清除过程
}


// CtravelView 诊断

#ifdef _DEBUG
void CtravelView::AssertValid() const
{
	CView::AssertValid();
}

void CtravelView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CtravelDoc* CtravelView::GetDocument() const // 非调试版本是内联的
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CtravelDoc)));
	return (CtravelDoc*)m_pDocument;
}
#endif //_DEBUG


// CtravelView 消息处理程序

void CtravelView::OnFileConnect()//建立连接
{
	// TODO: 在此添加命令处理程序代码


	m_dbCust.OpenEx(_T("DSN=travel"));
	AfxMessageBox(m_dbCust.GetDatabaseName(),0,0);
	link=TRUE;
	
	

}

void CtravelView::Ondisconnect()//撤销连接
{
	// TODO: 在此添加命令处理程序代码
	m_dbCust.Close();
	AfxMessageBox("已断开连接。");
	link=FALSE;
	
}







void CtravelView::OnUpdateflight(CCmdUI *pCmdUI)
{

	pCmdUI->Enable(link);
}

void CtravelView::OnUpdatecustom(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(link);
}
void CtravelView::OnUpdatedisconnect(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(link);
}
void CtravelView::OnUpdateFileOpen(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(!link);
}
void CtravelView::OnUpdatecars(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(link);
}
void CtravelView::OnUpdaterooms(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(link);
}
void CtravelView::OnUpdateSearch(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(link);
}
void CtravelView::OnUpdateAppExit(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(!link);
}
void CtravelView::OnUpdate32788(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
	pCmdUI->Enable(link);
}









void CtravelView::Onflight()//向数据库flight表中存入数据
{
	// TODO: 在此添加命令处理程序代码

	FLIGHTDLG FlightIN;
	FlightIN.DoModal();
	CFlights temp;
	temp.Open();
	temp.AddNew();
	temp.SetFieldNull(&(temp.m_flightNum),FALSE);
	temp.SetFieldNull(&(temp.m_numAvail),FALSE);
	temp.SetFieldNull(&(temp.m_numSeats),FALSE);
	temp.SetFieldNull(&(temp.m_ArivCity),FALSE);
	temp.SetFieldNull(&(temp.m_FromCity),FALSE);
	temp.SetFieldNull(&(temp.m_price),FALSE);
	temp.m_price=FlightIN.Price;
	temp.m_FromCity=FlightIN.FromCity;
	temp.m_ArivCity=FlightIN.ArivCity;
	temp.m_numSeats=FlightIN.NumSeats;
	temp.m_numAvail=FlightIN.NumAvail;
	temp.m_flightNum=FlightIN.FlightNum;
	temp.Update();
	temp.Requery();
	temp.Close();
		AfxMessageBox("录入航班信息成功!");
/*	CFlightsSet db;
    CString temp;
     temp.Format(
                        _T("INSERT INTO FLIGHTS VALUES ('%s', %s, %s, %s, '%s', '%s', 1)"), 
                        flight.mflightNum,
                        flight.mprice,
                        flight.mnumSeats,
                        flight.mnumSeats,
                        flight.mFromCity,
                        flight.mAirvCity);
                    db.Open();
                    db.m_pDatabase->ExecuteSQL(temp);
                    db.Close();
*/
	//向flight表中插入记录
}


void CtravelView::Oncustom()
{
	// TODO: 在此添加命令处理程序代码
	HOTELSDLG HotelsDlg;
	HotelsDlg.DoModal();
/*	CString temp;
	temp.Format(
		_T("INSERT INTO FLIGHTS VALUSES(1,'%s',%s,%s,%s)"),
		HotelsDlg.Location,
		HotelsDlg.Price,
		HotelsDlg.NumRooms,
		HotelsDlg.NumAvail);
	CHotels db;
	db.Open();
	db.m_pDatabase->ExecuteSQL(temp);
	db.Close();
	*/
	CHotels temp;
	temp.Open();
	temp.AddNew();
	temp.SetFieldNull(&(temp.m_location),FALSE);
	temp.SetFieldNull(&(temp.m_price),FALSE);
	temp.SetFieldNull(&(temp.m_numRooms),FALSE);
	temp.SetFieldNull(&(temp.m_numAvail),FALSE);
	temp.m_location=HotelsDlg.Location;
	temp.m_price=HotelsDlg.Price;
	temp.m_numRooms=HotelsDlg.NumRooms;
	temp.m_numAvail=HotelsDlg.NumAvail;
	temp.Update();
	temp.Requery();
	temp.Close();
		AfxMessageBox("录入宾馆信息成功!");
}



void CtravelView::Oncars()
{
	// TODO: 在此添加命令处理程序代码
	CARSDLG CarsDlg;
	CarsDlg.DoModal();
	CCars temp;
	temp.Open();
	temp.AddNew();
	temp.SetFieldNull(&(temp.m_location),FALSE);
	temp.SetFieldNull(&(temp.m_price),FALSE);
	temp.SetFieldNull(&(temp.m_numCars),FALSE);
	temp.SetFieldNull(&(temp.m_numAvail),FALSE);
	temp.m_location=CarsDlg.Location;
	temp.m_price=CarsDlg.Price;
	temp.m_numAvail=CarsDlg.NumAvail;
	temp.m_numCars=CarsDlg.NumCars;
	temp.Update();
	temp.Requery();
	temp.Close();
	AfxMessageBox("录入汽车成功!");
}





void CtravelView::Onrooms()
{
	// TODO: 在此添加命令处理程序代码
	CUSTOMERSDLG CustomerDlg;
	CustomerDlg.DoModal();
	CCustomers temp;
	temp.Open();
	temp.AddNew();
	temp.SetFieldNull(&(temp.m_custName),FALSE);
	temp.m_custName=CustomerDlg.CustName;
	temp.Update();
	temp.Requery();
	temp.Close();
	AfxMessageBox("录入客户信息成功!");
}

void CtravelView::OnSearch()
{
	// TODO: 在此添加命令处理程序代码
	Search SearchDlg;
	SearchDlg.DoModal();
	//SearchDlg.Tab.
}





void CtravelView::On32788()
{
	// TODO: 在此添加命令处理程序代码
	PATHDLG PathDlg;
	PathDlg.DoModal();

}

⌨️ 快捷键说明

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