📄 reservedlg.cpp
字号:
// reservedlg.cpp : implementation file
//
#include "stdafx.h"
#include "dbexe.h"
#include "reservedlg.h"
#include "reserveset.h"
#include "flightdlg.h"
#include "hoteldlg1.h"
#include "cardlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Creservedlg dialog
Creservedlg::Creservedlg(CWnd* pParent /*=NULL*/)
: CDialog(Creservedlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Creservedlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void Creservedlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Creservedlg)
DDX_Control(pDX, IDC_LIST1, m_basic);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Creservedlg, CDialog)
//{{AFX_MSG_MAP(Creservedlg)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Creservedlg message handlers
BOOL Creservedlg::OnInitDialog(void){
CDialog::OnInitDialog();
m_basic.InsertColumn(0,"客户姓名");
m_basic.InsertColumn(1,"预定类型");
m_basic.InsertColumn(2,"所预定类型的主码");
RECT rectbasic;
m_basic.GetWindowRect(&rectbasic);
int widbasic=rectbasic.right-rectbasic.left;
m_basic.SetColumnWidth(0,widbasic/4);
m_basic.SetColumnWidth(1,widbasic/4);
m_basic.SetColumnWidth(2,widbasic/2);
m_basic.SetExtendedStyle(LVS_EX_FULLROWSELECT);
p_query.Format("select* from reservations");
RefreshData();
return true;
}
void Creservedlg::RefreshData()
{
if(!m_database.IsOpen()){
m_database.Open(_T("database1"));
}
m_basic.DeleteAllItems();
Creserveset m_basicset(&m_database);
CString strsql;
m_basicset.Open(AFX_DB_USE_DEFAULT_TYPE,p_query);
CDBVariant varValue;
if(m_basicset.GetRecordCount()!=0)
m_basicset.MoveFirst();
else MessageBox("没有您需要的内容");
char buf[20];
int i=0;
while(!m_basicset.IsEOF())
{ int temp=0;
m_basicset.GetFieldValue(temp,varValue);
m_basic.InsertItem(i,varValue.m_pstring->GetBuffer(1));//插入元组
m_basicset.GetFieldValue(1,varValue);
sprintf(buf,"%d",varValue.m_lVal); m_basic.SetItemText(i,1,buf);
m_basicset.GetFieldValue(2,varValue);
m_basic.SetItemText(i,2,varValue.m_pstring->GetBuffer(1));
m_basicset.MoveNext();
i++;
}
}
void Creservedlg::insert(){
if(!m_database.IsOpen()){
m_database.Open(_T("database1"));
}
CString strsql;
strsql.Format("insert into reservations values(\'%s\',%d,\'%s\')",customname,reservetype,reservekey);
m_database.ExecuteSQL(strsql);
m_database.Close();
}
void Creservedlg::OnDelete()
{
int i=m_basic.GetHotItem();
CString strSQL;
if(i==-1){
MessageBox("please choose a record first!");
}
else{
int reservetype=atoi(m_basic.GetItemText(i,1));
CString keyid=m_basic.GetItemText(i,2);
strSQL.Format("delete from reservations where resvkey='"+keyid+"'");//删除元组
m_database.ExecuteSQL(strSQL);
if(reservetype==1){
Cflightdlg m_flight;
m_flight.key=keyid;
m_flight.unreserve();
}
if(reservetype==2){
Choteldlg m_hotel;
m_hotel.key=keyid;
m_hotel.unreserve();
}
if(reservetype==3){
Ccardlg m_car;
m_car.key=keyid;
m_car.unreserve();
}
m_database.Close();
RefreshData();
} // TODO: Add your control notification handler code here
}
void Creservedlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
int i=m_basic.GetSelectionMark();
CString strSQL;
if(i==-1){
MessageBox("please choose a record first!");
}
else{
reserve_id=m_basic.GetItemText(i,0);
m_basic.SetHotItem(i);
} // TODO: Add your control notification handler code here
// *pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -