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