📄 updateroomdlg.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 + -