📄 userregview.cpp
字号:
// UserRegView.cpp : implementation file
//
#include "stdafx.h"
#include "Final.h"
#include "UserRegView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUserRegView
IMPLEMENT_DYNCREATE(CUserRegView, CFormView)
CUserRegView::CUserRegView()
: CFormView(CUserRegView::IDD)
{
//{{AFX_DATA_INIT(CUserRegView)
m_orderid = _T("");
m_prepay = 0;
m_guestName = _T("");
m_guestID = _T("");
m_guestPost = _T("");
m_guestNation = _T("");
m_RoomID = _T("");
m_orderid2 = _T("");
m_prepay2 = 0;
m_guestTel = _T("");
//}}AFX_DATA_INIT
CFinalApp *pApp=(CFinalApp *)AfxGetApp();
m_pConn=pApp->m_pConnection;
m_pRadio1=NULL;
m_guestSex="男";
}
CUserRegView::~CUserRegView()
{
}
void CUserRegView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserRegView)
DDX_Control(pDX, IDC_COMBO1, m_ComBox1);
DDX_Control(pDX, IDC_LIST1, m_ListCtrl);
DDX_Text(pDX, IDC_EDIT1, m_orderid);
DDV_MaxChars(pDX, m_orderid, 6);
DDX_Text(pDX, IDC_EDIT2, m_prepay);
DDV_MinMaxInt(pDX, m_prepay, 0, 20000);
DDX_Text(pDX, IDC_EDIT3, m_guestName);
DDV_MaxChars(pDX, m_guestName, 10);
DDX_Text(pDX, IDC_EDIT4, m_guestID);
DDV_MaxChars(pDX, m_guestID, 18);
DDX_Text(pDX, IDC_EDIT5, m_guestPost);
DDV_MaxChars(pDX, m_guestPost, 6);
DDX_Text(pDX, IDC_EDIT7, m_guestNation);
DDV_MaxChars(pDX, m_guestNation, 10);
DDX_Text(pDX, IDC_EDIT8, m_RoomID);
DDV_MaxChars(pDX, m_RoomID, 3);
DDX_Text(pDX, IDC_EDIT9, m_orderid2);
DDV_MaxChars(pDX, m_orderid2, 6);
DDX_Text(pDX, IDC_EDIT10, m_prepay2);
DDV_MinMaxInt(pDX, m_prepay2, 0, 20000);
DDX_Text(pDX, IDC_EDIT6, m_guestTel);
DDV_MaxChars(pDX, m_guestTel, 15);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserRegView, CFormView)
//{{AFX_MSG_MAP(CUserRegView)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_BN_CLICKED(IDC_BUTTON1, OnSignIn)
ON_BN_CLICKED(IDC_BUTTON2, OnAddGuest)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUserRegView diagnostics
#ifdef _DEBUG
void CUserRegView::AssertValid() const
{
CFormView::AssertValid();
}
void CUserRegView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CUserRegView message handlers
void CUserRegView::OnRadio1()
{
GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT7)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT9)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT10)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);
GetDlgItem(IDC_COMBO1)->EnableWindow(FALSE);
}
void CUserRegView::OnRadio2()
{
GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT7)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT9)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT10)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
GetDlgItem(IDC_COMBO1)->EnableWindow(TRUE);
}
void CUserRegView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
m_ListCtrl.InsertColumn(0,"流水号",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(1,"客户姓名",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(2,"性别",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(3,"身份证号",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(4,"房间号",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(5,"房间类型",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(6,"房间价格",LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(7,"入住时间",LVCFMT_LEFT,60);
m_ListCtrl.SetExtendedStyle(m_ListCtrl.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
m_pRadio1=(CButton *)GetDlgItem(IDC_RADIO1);
m_pRadio1->SetCheck(BST_CHECKED);
m_ComBox1.AddString("男");
m_ComBox1.AddString("女");
GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT7)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT9)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);
GetDlgItem(IDC_COMBO1)->EnableWindow(FALSE);
CUserRegView::Refresh();
}
void CUserRegView::OnSignIn()
{
UpdateData(TRUE);
if(m_orderid==""||m_prepay<0)AfxMessageBox("输入数据有错误!");
else
{
_CommandPtr m_pComm;
m_pComm.CreateInstance(__uuidof(Command));
try
{
m_pComm->ActiveConnection=m_pConn;
m_pComm->CommandText=_bstr_t("signin");
m_pComm->CommandType=adCmdStoredProc;
_variant_t vvar1,vvar2;
vvar1=_variant_t(m_orderid);
vvar2.vt=VT_I2;
vvar2.intVal=m_prepay;
_ParameterPtr mp_var1,mp_var2;
mp_var1.CreateInstance(__uuidof(Parameter));
mp_var2.CreateInstance(__uuidof(Parameter));
mp_var1=m_pComm->CreateParameter(
_bstr_t("orderid"),
adVarChar,
adParamInput,
6,
vvar1);
m_pComm->Parameters->Append(mp_var1);
mp_var2=m_pComm->CreateParameter(
_bstr_t("prepay"),
adInteger,
adParamInput,
9,
vvar2);
m_pComm->Parameters->Append(mp_var2);
m_pComm->Execute(NULL,NULL,adCmdStoredProc);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
} //else
GetDlgItem(IDC_EDIT1)->SetWindowText("");
GetDlgItem(IDC_EDIT2)->SetWindowText("");
CUserRegView::Refresh();
}
void CUserRegView::OnAddGuest()
{
UpdateData(TRUE);
int i=m_ComBox1.GetCurSel();
m_ComBox1.GetLBText(i,m_guestSex);
if(m_guestID==""||m_guestName==""||m_guestNation==""||m_guestPost==""||m_guestSex==""||m_guestTel==""||m_orderid2==""||m_RoomID=="")
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),
m_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_orderid2));
m_pAddGuestRst->PutCollect("guestSex",_variant_t(m_guestSex));
m_pAddGuestRst->Update();
_CommandPtr m_pComm;
m_pComm.CreateInstance(__uuidof(Command));
try
{
m_pComm->ActiveConnection=m_pConn;
m_pComm->CommandText=_bstr_t("addguest");
m_pComm->CommandType=adCmdStoredProc;
_variant_t vvar1,vvar2;
vvar1=_variant_t(m_orderid2);
vvar2.vt=VT_I2;
vvar2.intVal=m_prepay2;
_ParameterPtr mp_var1,mp_var2;
mp_var1.CreateInstance(__uuidof(Parameter));
mp_var2.CreateInstance(__uuidof(Parameter));
mp_var1=m_pComm->CreateParameter(
_bstr_t("orderid"),
adVarChar,
adParamInput,
6,
vvar1);
m_pComm->Parameters->Append(mp_var1);
mp_var2=m_pComm->CreateParameter(
_bstr_t("prepay"),
adInteger,
adParamInput,
9,
vvar2);
m_pComm->Parameters->Append(mp_var2);
m_pComm->Execute(NULL,NULL,adCmdStoredProc);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
GetDlgItem(IDC_EDIT3)->SetWindowText("");
GetDlgItem(IDC_EDIT4)->SetWindowText("");
GetDlgItem(IDC_EDIT5)->SetWindowText("");
GetDlgItem(IDC_EDIT6)->SetWindowText("");
GetDlgItem(IDC_EDIT7)->SetWindowText("");
GetDlgItem(IDC_EDIT8)->SetWindowText("");
GetDlgItem(IDC_EDIT9)->SetWindowText("");
GetDlgItem(IDC_EDIT10)->SetWindowText("");
}
}
CUserRegView::Refresh();
}
void CUserRegView::Refresh()
{
_variant_t var1,var2,var3,var4,var5,var6,var7,var8;
_CommandPtr m_pCommand;
m_pCommand.CreateInstance(__uuidof(Command));
_RecordsetPtr m_pRst;
m_pRst.CreateInstance(__uuidof(Recordset));
m_ListCtrl.DeleteAllItems();
try
{
m_pCommand->ActiveConnection=m_pConn;
m_pCommand->CommandText=_bstr_t("querycheckin");
m_pCommand->CommandType=adCmdStoredProc;
m_pRst=m_pCommand->Execute(NULL,NULL,adCmdStoredProc);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
int i=-1;
while(!m_pRst->adoEOF)
{
var1=m_pRst->GetCollect("orderid");
var2=m_pRst->GetCollect("guestName");
var3=m_pRst->GetCollect("guestSex");
var4=m_pRst->GetCollect("guestID");
var5=m_pRst->GetCollect("RoomID");
var6=m_pRst->GetCollect("roomLevel");
var7=m_pRst->GetCollect("roomPrice");
var8=m_pRst->GetCollect("guestEnterTime");
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_ListCtrl.InsertItem(&lvitem);
m_ListCtrl.SetItemText(i, 0, _T((LPCSTR)_bstr_t(var1)));
m_ListCtrl.SetItemText(i, 1, _T((LPCSTR)_bstr_t(var2)));
m_ListCtrl.SetItemText(i, 2, _T((LPCSTR)_bstr_t(var3)));
m_ListCtrl.SetItemText(i, 3, _T((LPCSTR)_bstr_t(var4)));
m_ListCtrl.SetItemText(i, 4, _T((LPCSTR)_bstr_t(var5)));
m_ListCtrl.SetItemText(i, 5, _T((LPCSTR)_bstr_t(var6)));
m_ListCtrl.SetItemText(i, 6, _T((LPCSTR)_bstr_t(var7)));
m_ListCtrl.SetItemText(i, 7, _T((LPCSTR)_bstr_t(var8)));
m_pRst->MoveNext();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -