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

📄 setuserabilitydlg.cpp

📁 系统主要包括住宿管理,客房管理,查询统计,报表管理,系统设置五个模块,适用于中小型宾馆酒店。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// Setuserabilitydlg.cpp : implementation file
//

#include "stdafx.h"
#include "Myhotel.h"
#include "Setuserabilitydlg.h"
#include <stdlib.h>
#include <stdio.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CMyhotelApp theApp; 
/////////////////////////////////////////////////////////////////////////////
// CSetuserabilitydlg dialog


CSetuserabilitydlg::CSetuserabilitydlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSetuserabilitydlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetuserabilitydlg)
	m_ck_roombook = FALSE;
	m_ck_addmoney = FALSE;
	m_ck_changeroom = FALSE;
	m_ck_checkinreg = FALSE;
	m_ck_checkoutreg = FALSE;
	m_ck_findcheckin = FALSE;
	m_ck_findcheckout = FALSE;
	m_ck_findgz = FALSE;
	m_ck_findroom = FALSE;
	m_ck_findroomstate = FALSE;
	m_ck_findyuding = FALSE;
	m_ck_guesthandmoney = FALSE;
	m_ck_moneyalarm = FALSE;
	m_ck_regprehandin = FALSE;
	m_ck_resetdatabase = FALSE;
	m_ck_roomsale = FALSE;
	m_ck_roomsalestatic = FALSE;
	m_ck_roomset = FALSE;
	m_ck_setpwd = FALSE;
	m_ck_setuserability = FALSE;
	m_setusernamepwd = FALSE;
	m_temp = _T("");
	//}}AFX_DATA_INIT
}


void CSetuserabilitydlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetuserabilitydlg)
	DDX_Control(pDX, IDC_LISTsetability, m_setability_list);
	DDX_Check(pDX, IDC_CHECK_roombook, m_ck_roombook);
	DDX_Check(pDX, IDC_CHECKaddmoney, m_ck_addmoney);
	DDX_Check(pDX, IDC_CHECKchangeroom, m_ck_changeroom);
	DDX_Check(pDX, IDC_CHECKcheckinreg, m_ck_checkinreg);
	DDX_Check(pDX, IDC_CHECKcheckoutreg, m_ck_checkoutreg);
	DDX_Check(pDX, IDC_CHECKfindcheckin, m_ck_findcheckin);
	DDX_Check(pDX, IDC_CHECKfindcheckout, m_ck_findcheckout);
	DDX_Check(pDX, IDC_CHECKfindgz, m_ck_findgz);
	DDX_Check(pDX, IDC_CHECKfindroom, m_ck_findroom);
	DDX_Check(pDX, IDC_CHECKfindroomstate, m_ck_findroomstate);
	DDX_Check(pDX, IDC_CHECKfindyuding, m_ck_findyuding);
	DDX_Check(pDX, IDC_CHECKguesthandmoney, m_ck_guesthandmoney);
	DDX_Check(pDX, IDC_CHECKmoneyalarm, m_ck_moneyalarm);
	DDX_Check(pDX, IDC_CHECKregprehandin, m_ck_regprehandin);
	DDX_Check(pDX, IDC_CHECKresetdatabase, m_ck_resetdatabase);
	DDX_Check(pDX, IDC_CHECKroomsale, m_ck_roomsale);
	DDX_Check(pDX, IDC_CHECKroomsalestatic, m_ck_roomsalestatic);
	DDX_Check(pDX, IDC_CHECKroomset, m_ck_roomset);
	DDX_Check(pDX, IDC_CHECKsetpwd, m_ck_setpwd);
	DDX_Check(pDX, IDC_CHECKsetuserability, m_ck_setuserability);
	DDX_Check(pDX, IDC_CHECKsetusernamepwd, m_setusernamepwd);
//	DDX_Text(pDX, IDC_EDIT1, m_temp);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSetuserabilitydlg, CDialog)
	//{{AFX_MSG_MAP(CSetuserabilitydlg)
	ON_BN_CLICKED(IDOK_selectall, Onselectall)
	ON_BN_CLICKED(IDOK_NOTselectall, OnNOTselectall)
	ON_LBN_SELCHANGE(IDC_LISTsetability, OnSelchangeLISTsetability)
	ON_BN_CLICKED(IDOK_deleteuser, Ondeleteuser)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetuserabilitydlg message handlers

void CSetuserabilitydlg::Onselectall() 
{
	// TODO: Add your control notification handler code here
	//((CButton*)GetDlgItem(IDC_SKATING1))->GetCheck()
   //变量初始化
	m_ck_roombook = true;
	m_ck_addmoney = true;
	m_ck_changeroom = true;
	m_ck_checkinreg = true;
	m_ck_checkoutreg = true;
	m_ck_findcheckin = true;
	m_ck_findcheckout = true;
	m_ck_findgz = true;
	m_ck_findroom = true;
	m_ck_findroomstate = true;
	m_ck_findyuding =true;
	m_ck_guesthandmoney = true;
	m_ck_moneyalarm = true;
	m_ck_regprehandin =true;
	m_ck_resetdatabase = true;
	m_ck_roomsale = true;
	m_ck_roomsalestatic = true;
	m_ck_roomset = true;
	m_ck_setpwd = true;
	m_ck_setuserability = true;
	m_setusernamepwd = true;
   //更新显示
	UpdateData(false);

}

void CSetuserabilitydlg::OnNOTselectall() 
{
	// TODO: Add your control notification handler code here
	//设置单选按钮为不选状态
	m_ck_roombook = FALSE;
	m_ck_addmoney = FALSE;
	m_ck_changeroom = FALSE;
	m_ck_checkinreg = FALSE;
	m_ck_checkoutreg = FALSE;
	m_ck_findcheckin = FALSE;
	m_ck_findcheckout = FALSE;
	m_ck_findgz = FALSE;
	m_ck_findroom = FALSE;
	m_ck_findroomstate = FALSE;
	m_ck_findyuding = FALSE;
	m_ck_guesthandmoney = FALSE;
	m_ck_moneyalarm = FALSE;
	m_ck_regprehandin = FALSE;
	m_ck_resetdatabase = FALSE;
	m_ck_roomsale = FALSE;
	m_ck_roomsalestatic = FALSE;
	m_ck_roomset = FALSE;
	m_ck_setpwd = FALSE;
	m_ck_setuserability = FALSE;
	m_setusernamepwd = FALSE;
	//更新显示
	 UpdateData(false);
}

BOOL CSetuserabilitydlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
		m_pRecordset.CreateInstance(__uuidof(Recordset));

		_variant_t var;
		CString userid;
	// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
	// 
	try
	{   //打开数据表
		m_pRecordset->Open("SELECT * FROM setability",                // 查询 表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
	}
	catch(_com_error *e)
	{   //抛出异常
		AfxMessageBox(e->ErrorMessage());
	}
	try
	{
		if(!m_pRecordset->BOF)//判断指针是否在数据集最后
			m_pRecordset->MoveFirst();
		else
		{
			MessageBox("表内数据为空","客房管理系统");
			return false;
		}

		// read data from the database table 
		while(!m_pRecordset->adoEOF)
		{   //循环读取数据
			var = m_pRecordset->GetCollect("操作员");
			if(var.vt != VT_NULL)
				userid = (LPCSTR)_bstr_t(var);
			m_setability_list.AddString(userid);
			m_pRecordset->MoveNext();//移动记录指针到下一条记录
		}

		// 
	//	m_setability_list.SetCurSel(0);
	
	}
	catch(_com_error *e)//抛出异常
	{
		AfxMessageBox(e->ErrorMessage());
	}

	// 关闭记录集
	m_pRecordset->Close();
	m_pRecordset = NULL;
   
    //更新显示     
	UpdateData(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSetuserabilitydlg::OnSelchangeLISTsetability() 
{
	// TODO: Add your control notification handler code here
	int nCurSel = m_setability_list.GetCurSel();

	_variant_t var,varIndex;

	
	if(nCurSel < 0)
		return;

	CString getuserid;
	//获得选定的内容
    m_setability_list.GetText(nCurSel,getuserid);

	//UpdateData(true);
    
	m_pRecordsetshow.CreateInstance(__uuidof(Recordset));
    
	CString strsqlshow;
   strsqlshow.Format("SELECT * FROM setability where 操作员='%s'",getuserid);
	
   try
   {   //用SQL打开数据表
		m_pRecordsetshow->Open(_variant_t(strsqlshow),                // 查询 表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
	}
	catch(_com_error *e)
	{//抛出异常
		AfxMessageBox(e->ErrorMessage());
	}
///////////////////////////////////////////////

	CString ling="0";
	try
	{
		
		//	AfxMessageBox("iiiiiiiii!");m_temp=(LPCSTR)_bstr_t(var);UpdateData(false);
	    //读取数据表中客房预定字段的数据
		var = m_pRecordsetshow->GetCollect("客房预定");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
			{    // ((CButton*)GetDlgItem(IDC_CHECK_roombook))->SetCheck(false);
                //如果该字段值为0,则对应单选按钮状态置为未选中
				m_ck_roombook =FALSE;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_roombook =true;
			}
		}
		//读取数据表中住宿登记字段的数据
		var = m_pRecordsetshow->GetCollect("住宿登记");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                  m_ck_checkinreg =false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_checkinreg =true;
			}
                 
		}
		//读取数据表中追加押金字段的数据	 
		var = m_pRecordsetshow->GetCollect("追加押金");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                  m_ck_addmoney =false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_addmoney =true;
			}
				
		}	
		//读取数据表中调房登记字段的数据	 
		var = m_pRecordsetshow->GetCollect("调房登记");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                  m_ck_changeroom=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_changeroom =true;
			}    
				
		}
			
        //读取数据表中退宿登记字段的数据
		var = m_pRecordsetshow->GetCollect("退宿登记");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                  m_ck_checkoutreg=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_checkoutreg =true;
			}    
				 
		}
		//读取数据表中客房管理字段的数据	
		var = m_pRecordsetshow->GetCollect("客房管理");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                 m_ck_roomset=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_roomset =true;
			}    
			
		}
		//读取数据表中客房查询字段的数据	
		var = m_pRecordsetshow->GetCollect("客房查询");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
              {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_findroom=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_findroom =true;
			}   
				
		}
		//读取数据表中房态查看字段的数据	
		var = m_pRecordsetshow->GetCollect("房态查看");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_findroomstate=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_findroomstate =true;
			}    
				 
		}
			
		//读取数据表中挂帐查询字段的数据
		var = m_pRecordsetshow->GetCollect("挂帐查询");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_findgz=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_findgz =true;
			}     
				
		}
		//读取数据表中客户结款字段的数据	
		var = m_pRecordsetshow->GetCollect("客户结款");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_guesthandmoney=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_guesthandmoney =true;
			}   
				
		}
		//读取数据表中预定房查询字段的数据	
		var = m_pRecordsetshow->GetCollect("预定房查询");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
              {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_findyuding=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_findyuding=true;
			}  
				 
		}
		//读取数据表中住宿查询字段的数据	
		var = m_pRecordsetshow->GetCollect("住宿查询");

⌨️ 快捷键说明

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