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

📄 updateroomdlg.cpp

📁 这是是一个居于文档
💻 CPP
字号:
// UpdateRoomDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Guesthouse.h"
#include "UpdateRoomDlg.h"
#include "RoominFoSet.h"
#include "stdroominfoSet.h"

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

/////////////////////////////////////////////////////////////////////////////
// CUpdateRoomDlg dialog


CUpdateRoomDlg::CUpdateRoomDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CUpdateRoomDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUpdateRoomDlg)
	m_position = _T("");
	m_price = _T("");
	m_memo = _T("");
	m_putup = _T("");
	//}}AFX_DATA_INIT
}


void CUpdateRoomDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUpdateRoomDlg)
	DDX_Control(pDX, IDC_COMBO2, m_type);
	DDX_Control(pDX, IDC_COMBO1, m_roomnumber);
	DDX_Text(pDX, IDC_EDIT2, m_position);
	DDX_Text(pDX, IDC_EDIT3, m_price);
	DDX_Text(pDX, IDC_EDIT4, m_memo);
	DDX_CBString(pDX, IDC_COMBO3, m_putup);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUpdateRoomDlg, CDialog)
	//{{AFX_MSG_MAP(CUpdateRoomDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUpdateRoomDlg message handlers

BOOL CUpdateRoomDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//初始化客房编号下拉列表
	m_roominfo.Open();
	while (!m_roominfo.IsEOF())
	{
		m_roomnumber.AddString(m_roominfo.m_Roomnumber);
		m_roominfo.MoveNext();
	}
	if (m_roomnumber.GetCount()==0)
	{
		AfxMessageBox(_T("现在没有的客房信息!"));
		CDialog::OnOK();
		return FALSE;
	}

	//设置下拉列表中的客房编号
	m_roomnumber.SetCurSel(0);
	m_roomnumber.GetLBText(0,m_no);

	//根据当前客房编号,读取客房记录
	m_roominfo.m_strFilter="Roomnumber='"+m_no+"'";
	if (!m_roominfo.IsOpen())
	{
		m_roominfo.Open();
	}
	else
		m_roominfo.Requery();
//	m_roomname=m_roominfo.m_stdroom;
	m_position=m_roominfo.m_roomposition;
//	m_price=m_roominfo.m_roomprice;
	m_putup=m_roominfo.m_Putup;
	m_memo=m_roominfo.m_roommemo;
	m_roominfo.Close();

	//初始化客房类型下拉列表
	m_stdroom.Open();
	while (!m_stdroom.IsEOF())
	{
		m_type.AddString(m_stdroom.m_roomname);
		m_stdroom.MoveNext();
	}
	if (m_type.GetCount() == 0)
	{
		AfxMessageBox(_T("现在没有的客房标准!"));
		CDialog::OnOK();
		return FALSE;
	}
/*	for (int i=0;i<=m_type.GetCount();i++)
	{
		CString str;
		m_type.GetLBText(i,str);
		if(m_roomname == str)
			break;
	}*/

	//设置客房类型下拉列表
	m_type.SetCurSel(0);
	m_type.GetLBText(0,m_roomname);

	//根据当前客房类型,读取客房单价并显示
	m_bookroom.m_strFilter = "stdroom = '"+m_roomname+"'";
	if(!m_bookroom.IsOpen())
		m_bookroom.Open();
	else
		m_bookroom.Requery();
	m_price = m_bookroom.m_roomprice;
	m_stdroom.Close();
	UpdateData(FALSE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CUpdateRoomDlg::OnSelchangeRoomnumber()
{
	UpdateData(TRUE);

	//获取当前客房编号
	int i = m_roomnumber.GetCurSel();
	m_roomnumber.GetLBText(i,m_no);

	//根据当前客房编号,读取客房信息记录
	m_roominfo.m_strFilter = "roomnumber = '"+m_no+"'";
	if (!m_roominfo.IsOpen())
	{
		m_roominfo.Open();
	}
	else
		m_roominfo.Requery();
	m_roomname = m_roominfo.m_stdroom;
	m_position = m_roominfo.m_roomposition;
	m_price = m_roominfo.m_roomprice;
	m_putup = m_roominfo.m_Putup;
	m_memo = m_roominfo.m_roommemo;
	m_roominfo.Close();

	//匹配客房的类型
	CString str;
	for (i = 0;i <= m_type.GetCount();i++)
	{
		m_type.GetLBText(i,str);
		if(m_roomname == str)
			break;
	}
	//设置客房类型下拉列表
	m_type.SetCurSel(i);
	m_type.GetLBText(i,m_roomname);
	//根据当前客房类型,读取客房单价并显示
	m_stdroom.m_strFilter = "roomname = '"+m_roomname+"'";
	if (!m_stdroom.IsOpen())
	{
		m_stdroom.Open();
	}
	else
		m_stdroom.Requery();
	m_price = m_stdroom.m_price;
	m_stdroom.Close();
	UpdateData(FALSE);
}

void CUpdateRoomDlg::OnSelchangeStdroom()
{
	UpdateData(TRUE);

	//获取当前客房类型
	int i = m_type.GetCurSel();
	m_type.GetLBText(i,m_roomname);

	//根据当前客房类型,读取客房单价并显示
	m_stdroom.m_strFilter = "roomname = '"+m_roomname+"'";
	if (!m_stdroom.IsOpen())
	{
		m_stdroom.Open();
	}
	else
		m_stdroom.Requery();
	m_price = m_stdroom.m_price;
	m_stdroom.Close();
	UpdateData(FALSE);
}

void CUpdateRoomDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);

	if (m_position == "")
	{
		AfxMessageBox(_T("客房位置不能为空!"));
		return;
	}
	m_roominfo.m_strFilter = "roomnumber = '"+m_no+"'";
	if(!m_roominfo.IsOpen())
		m_roominfo.Open();
	else
		m_roominfo.Requery();
	//修改记录
	m_roominfo.Edit();
	m_roominfo.m_stdroom = m_roomname;
	m_roominfo.m_roomposition = m_position;
	m_roominfo.m_roomprice = m_price;
	m_roominfo.m_Putup = m_putup;
	m_roominfo.m_roommemo = m_memo;
	m_roominfo.Update();
	m_roominfo.Close();
	AfxMessageBox(_T("修改成功完成!"));
	//CDialog::OnOK();
}

⌨️ 快捷键说明

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