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

📄 userorderview.cpp

📁 这是一个酒店管理系统
💻 CPP
字号:
// UserOrderView.cpp : implementation file
//

#include "stdafx.h"
#include "Final.h"
#include "UserOrderView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CUserOrderView

IMPLEMENT_DYNCREATE(CUserOrderView, CFormView)

CUserOrderView::CUserOrderView()
	: CFormView(CUserOrderView::IDD)
{
	//{{AFX_DATA_INIT(CUserOrderView)
	m_guestID = _T("");
	m_guestName = _T("");
	m_guestTel = _T("");
	m_guestPost = _T("");
	m_guestNation = _T("");
	m_orderid = _T("");
	m_roomid = _T("");
	//}}AFX_DATA_INIT

	CFinalApp *pApp=(CFinalApp *)AfxGetApp();
	pConn=pApp->m_pConnection;
	m_guestSex="男";
}

CUserOrderView::~CUserOrderView()
{
}

void CUserOrderView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUserOrderView)
	DDX_Control(pDX, IDC_LIST1, m_ListCtrl1);
	DDX_Control(pDX, IDC_COMBO1, m_ComBox1);
	DDX_Text(pDX, IDC_EDIT1, m_guestID);
	DDV_MaxChars(pDX, m_guestID, 18);
	DDX_Text(pDX, IDC_EDIT2, m_guestName);
	DDV_MaxChars(pDX, m_guestName, 10);
	DDX_Text(pDX, IDC_EDIT3, m_guestTel);
	DDV_MaxChars(pDX, m_guestTel, 15);
	DDX_Text(pDX, IDC_EDIT4, m_guestPost);
	DDV_MaxChars(pDX, m_guestPost, 6);
	DDX_Text(pDX, IDC_EDIT5, m_guestNation);
	DDV_MaxChars(pDX, m_guestNation, 10);
	DDX_Text(pDX, IDC_EDIT6, m_orderid);
	DDV_MaxChars(pDX, m_orderid, 6);
	DDX_Text(pDX, IDC_EDIT7, m_roomid);
	DDV_MaxChars(pDX, m_roomid, 3);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUserOrderView, CFormView)
	//{{AFX_MSG_MAP(CUserOrderView)
	ON_BN_CLICKED(IDC_BUTTON1, OnAddGuest)
	ON_BN_CLICKED(IDC_BUTTON2, OnRefresh)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUserOrderView diagnostics

#ifdef _DEBUG
void CUserOrderView::AssertValid() const
{
	CFormView::AssertValid();
}

void CUserOrderView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CUserOrderView message handlers

void CUserOrderView::OnAddGuest() 
{
//	AfxMessageBox("添加数据开始");
	UpdateData(TRUE);
	int i=m_ComBox1.GetCurSel();
	m_ComBox1.GetLBText(i,m_guestSex);
	if(m_guestID==""||m_guestName==""||m_orderid==""||m_roomid==""||m_guestNation==""||m_guestPost==""||m_guestSex==""||m_guestTel=="")
		AfxMessageBox("输入的数据不完整,请重新输入!");
	else
	{
		_RecordsetPtr m_pAddGuestRst;
		m_pAddGuestRst.CreateInstance(__uuidof(Recordset));
		CString sql;
		sql.Format("select * from guestdata where roomID='%s'",m_roomid);
		try
		{
			m_pAddGuestRst->Open(_variant_t(sql),
			pConn.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
		}
		catch(_com_error *es)
		{
			AfxMessageBox(es->ErrorMessage());
		}

		if(!m_pAddGuestRst->adoEOF)AfxMessageBox("指定房间已经被使用!");
		else
		{
			m_pAddGuestRst->AddNew();
			m_pAddGuestRst->PutCollect("guestID",_variant_t(m_guestID));
			m_pAddGuestRst->PutCollect("guestName",_variant_t(m_guestName));
			m_pAddGuestRst->PutCollect("guestNation",_variant_t(m_guestNation));
			m_pAddGuestRst->PutCollect("guestPost",_variant_t(m_guestPost));
			m_pAddGuestRst->PutCollect("guestTel",_variant_t(m_guestTel));
			m_pAddGuestRst->PutCollect("RoomID",_variant_t(m_roomid));
			m_pAddGuestRst->PutCollect("orderid",_variant_t(m_orderid));
			m_pAddGuestRst->PutCollect("guestSex",_variant_t(m_guestSex));
			m_pAddGuestRst->Update();
		
			char sql2[200];
			sprintf(sql2,"update roomTab set orderid='%s', orderflag='Y' where roomID='%s'",m_orderid,m_roomid);
			
			_CommandPtr m_pCommand;
			m_pCommand.CreateInstance(_uuidof(Command));
			try
			{
				m_pCommand->ActiveConnection=pConn;
				m_pCommand->CommandText=sql2;
				m_pCommand->CommandType=adCmdText;
				m_pCommand->Parameters->Refresh();
				m_pCommand->Execute(NULL,NULL,adCmdUnknown);
			}
			catch(_com_error *es2)
			{
				AfxMessageBox(es2->ErrorMessage());
			}

		}

	}//else
	CUserOrderView::Refresh();
}

void CUserOrderView::Refresh()
{
	m_ListCtrl1.DeleteAllItems();
	_RecordsetPtr m_pOrderRst;
	m_pOrderRst.CreateInstance(__uuidof(Recordset));
	try
	{
		m_pOrderRst->Open("SELECT guestdata.orderid,guestdata.RoomID,guestdata.guestID,guestdata.guestName,guestdata.guestSex,guestPost,guestTel,guestNation FROM guestdata,roomTab where roomTab.orderflag='Y' and guestdata.orderid=roomTab.orderid order by guestdata.orderid ASC", //查询用户信息
		pConn.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
		adOpenDynamic,
		adLockOptimistic,
		adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
	_variant_t var1,var2,var3,var4,var5,var6,var7,var8;
	int i=-1;
	while(!m_pOrderRst->adoEOF)
	{
		var1=m_pOrderRst->GetCollect("orderid");
		var2=m_pOrderRst->GetCollect("RoomID");
		var3=m_pOrderRst->GetCollect("guestID");
		var4=m_pOrderRst->GetCollect("guestName");
		var5=m_pOrderRst->GetCollect("guestSex");
		var6=m_pOrderRst->GetCollect("guestTel");
		var7=m_pOrderRst->GetCollect("guestPost");
		var8=m_pOrderRst->GetCollect("guestNation");
		LV_ITEM lvitem;
		lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
			lvitem.state = 0;      
			lvitem.stateMask = 0;
			char temp[50];
			lvitem.iItem = ++i;
			lvitem.iSubItem = 0;
			lvitem.pszText =itoa(i, temp, 10);
			m_ListCtrl1.InsertItem(&lvitem);
		m_ListCtrl1.SetItemText(i, 0, _T((LPCSTR)_bstr_t(var1)));
		m_ListCtrl1.SetItemText(i, 1, _T((LPCSTR)_bstr_t(var2)));
		m_ListCtrl1.SetItemText(i, 2, _T((LPCSTR)_bstr_t(var3)));
		m_ListCtrl1.SetItemText(i, 3, _T((LPCSTR)_bstr_t(var4)));
		m_ListCtrl1.SetItemText(i, 4, _T((LPCSTR)_bstr_t(var5)));
		m_ListCtrl1.SetItemText(i, 5, _T((LPCSTR)_bstr_t(var6)));
		m_ListCtrl1.SetItemText(i, 6, _T((LPCSTR)_bstr_t(var7)));
		m_ListCtrl1.SetItemText(i, 7, _T((LPCSTR)_bstr_t(var8)));
		m_pOrderRst->MoveNext();
	}
}

void CUserOrderView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	m_ComBox1.AddString("男");
	m_ComBox1.AddString("女");
	m_ListCtrl1.InsertColumn(0,"流水号",LVCFMT_LEFT,60);
	m_ListCtrl1.InsertColumn(1,"房间号",LVCFMT_LEFT,60);
	m_ListCtrl1.InsertColumn(2,"身份证号",LVCFMT_LEFT,80);
	m_ListCtrl1.InsertColumn(3,"客户姓名",LVCFMT_LEFT,60);
	m_ListCtrl1.InsertColumn(4,"性别",LVCFMT_LEFT,40);
	m_ListCtrl1.InsertColumn(5,"电话",LVCFMT_LEFT,80);
	m_ListCtrl1.InsertColumn(6,"邮编",LVCFMT_LEFT,80);
	m_ListCtrl1.InsertColumn(7,"国籍",LVCFMT_LEFT,40);
	m_ListCtrl1.SetExtendedStyle(m_ListCtrl1.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
	CUserOrderView::Refresh();
}

void CUserOrderView::OnRefresh() 
{
	CUserOrderView::Refresh();	
}

⌨️ 快捷键说明

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