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

📄 setuserabilitydlg.cpp

📁 系统主要包括住宿管理,客房管理,查询统计,报表管理,系统设置五个模块,适用于中小型宾馆酒店。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
               {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_findcheckin=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_findcheckin=true;
			}   
			
		}
			 
		//读取数据表中退宿查询字段的数据
		var = m_pRecordsetshow->GetCollect("退宿查询");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_findcheckout=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_findcheckout=true;
			}    
				
		}
		//读取数据表中宿费提醒字段的数据	 
		var = m_pRecordsetshow->GetCollect("宿费提醒");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_moneyalarm=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_moneyalarm=true;
			}  
				 
		}
		//读取数据表中登记预收报表字段的数据	
		var =m_pRecordsetshow->GetCollect("登记预收报表");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_regprehandin=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_regprehandin=true;
			}  
				
		}
		//读取数据表中客房销售报表字段的数据	 
		var = m_pRecordsetshow->GetCollect("客房销售报表");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_roomsale=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_roomsale=true;
			}  
				
		}
			 
		//读取数据表中客房销售统计报表字段的数据
		var = m_pRecordsetshow->GetCollect("客房销售统计报表");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
              {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_roomsalestatic=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_roomsalestatic=true;
			}  
				
		}
		//读取数据表中操作员设置字段的数据
		var = m_pRecordsetshow->GetCollect("操作员设置");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
              {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_setusernamepwd=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_setusernamepwd=true;
			}  
				
		}
		//读取数据表中密码设置字段的数据
		var = m_pRecordsetshow->GetCollect("密码设置");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_setpwd=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_setpwd=true;
			}  
				
		}
		//读取数据表中初始化字段的数据	
		var = m_pRecordsetshow->GetCollect("初始化");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
             {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_resetdatabase=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_resetdatabase=true;
			}  
				
		}
		//读取数据表中权限设置字段的数据
		var = m_pRecordsetshow->GetCollect("权限设置");
		if(var.vt != VT_NULL)
		{
			if((LPCSTR)_bstr_t(var)==ling)
            {//如果该字段值为0,则对应单选按钮状态置为未选中
                m_ck_setuserability=false;
			}
			else//否则对应单选按钮状态置为选中
			{  
				m_ck_setuserability=true;
			}  
			
		}
		
		
		
		UpdateData(false);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
    //关闭记录集
	m_pRecordsetshow->Close();
	m_pRecordsetshow = NULL;
}

void CSetuserabilitydlg::OnOK() 
{
	// TODO: Add extra validation here
	int nCurSel = m_setability_list.GetCurSel();

	CString getuserid;
    m_setability_list.GetText(nCurSel,getuserid);

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

	try
	{
		   char ck_roombook[20];
		   _itoa( m_ck_roombook, ck_roombook, 10 );//转换为字符串
	      //向数据表中客房预定字段写入数据
		   m_pRecordsetout->PutCollect("客房预定", _variant_t(ck_roombook));
     		
		   char ck_checkinreg[20];
		   _itoa( m_ck_checkinreg, ck_checkinreg, 10 );//转换为字符串
		  //向数据表中住宿登记字段写入数据
		   m_pRecordsetout->PutCollect("住宿登记", _variant_t(ck_checkinreg));
       		
		   char ck_addmoney[20];
		   _itoa( m_ck_addmoney, ck_addmoney, 10 );//转换为字符串
		   //向数据表中追加押金字段写入数据
		   m_pRecordsetout->PutCollect("追加押金", _variant_t(ck_addmoney));
       		
		   char ck_changeroom[20];
		   _itoa( m_ck_changeroom, ck_changeroom, 10 );//转换为字符串
		   //向数据表中调房登记字段写入数据
		   m_pRecordsetout->PutCollect("调房登记", _variant_t(ck_changeroom));
       		
		   char ck_checkoutreg[20];
		   _itoa( m_ck_checkoutreg,ck_checkoutreg, 10 );//转换为字符串
		  //向数据表中退宿登记字段写入数据
		   m_pRecordsetout->PutCollect("退宿登记", _variant_t(ck_checkoutreg));
       		
		   char ck_roomset[20];
		   _itoa( m_ck_roomset, ck_roomset, 10 );//转换为字符串
		   //向数据表中客房管理字段写入数据
		   m_pRecordsetout->PutCollect("客房管理", _variant_t(ck_roomset));
       	
		   char ck_findroom[20];
		   _itoa( m_ck_findroom, ck_findroom, 10 );//转换为字符串
		   //向数据表中客房查询字段写入数据
		   m_pRecordsetout->PutCollect("客房查询", _variant_t(ck_findroom));
       			
		   char ck_findroomstate[20];
		   _itoa( m_ck_findroomstate, ck_findroomstate, 10 );//转换为字符串
		  //向数据表中房态查看字段写入数据
		   m_pRecordsetout->PutCollect("房态查看", _variant_t(ck_findroomstate));
       	
 	 		   
		   char ck_findgz[20];
		   _itoa( m_ck_findgz, ck_findgz, 10 );//转换为字符串
		  //向数据表中挂帐查询字段写入数据
		   m_pRecordsetout->PutCollect("挂帐查询", _variant_t(ck_findgz));
       		
		   char ck_guesthandmoney[20];
		   _itoa( m_ck_guesthandmoney, ck_guesthandmoney, 10 );//转换为字符串
		   //向数据表中客户结款字段写入数据
		   m_pRecordsetout->PutCollect("客户结款", _variant_t(ck_guesthandmoney));
       	
		   char ck_findyuding[20];
		   _itoa( m_ck_findyuding, ck_findyuding, 10 );//转换为字符串
		   //向数据表中预定房查询字段写入数据
		   m_pRecordsetout->PutCollect("预定房查询", _variant_t(ck_findyuding));
       			
		   char ck_findcheckin[20];
		   _itoa( m_ck_findcheckin,ck_findcheckin, 10 );//转换为字符串
		   m_pRecordsetout->PutCollect("住宿查询", _variant_t(ck_findcheckin));
       	
		   char ck_findcheckout[20];
		   _itoa( m_ck_findcheckout, ck_findcheckout, 10 );//转换为字符串
		  //向数据表中退宿查询字段写入数据
		   m_pRecordsetout->PutCollect("退宿查询", _variant_t(ck_findcheckout));
       		
		   char ck_moneyalarm[20];
		   _itoa( m_ck_moneyalarm, ck_moneyalarm, 10 );//转换为字符串
		  //向数据表中宿费提醒字段写入数据
		   m_pRecordsetout->PutCollect("宿费提醒", _variant_t(ck_moneyalarm));
       	
		   char ck_regprehandin[20];
		   _itoa( m_ck_regprehandin, ck_regprehandin, 10 );//转换为字符串
		   //向数据表中登记预收报表字段写入数据
		   m_pRecordsetout->PutCollect("登记预收报表", _variant_t(ck_regprehandin));
       			
		   char ck_roomsale[20];
		   _itoa( m_ck_roomsale, ck_roomsale, 10 );//转换为字符串
		  //向数据表中客房销售报表字段写入数据
		   m_pRecordsetout->PutCollect("客房销售报表", _variant_t(ck_roomsale));
       	
		   char ck_roomsalestatic[20];
		   _itoa( m_ck_roomsalestatic, ck_roomsalestatic, 10 );//转换为字符串
		   //向数据表中客房销售统计报表字段写入数据
		   m_pRecordsetout->PutCollect("客房销售统计报表", _variant_t(ck_roomsalestatic));
       	
		   char setusernamepwd[20];
		   _itoa( m_setusernamepwd, setusernamepwd, 10 );//转换为字符串
		  //向数据表中操作员设置字段写入数据
		   m_pRecordsetout->PutCollect("操作员设置", _variant_t(setusernamepwd));
       		
		   char ck_setpwd[20];
		   _itoa( m_ck_setpwd, ck_setpwd, 10 );//转换为字符串
		   //向数据表中密码设置字段写入数据
		   m_pRecordsetout->PutCollect("密码设置", _variant_t(ck_setpwd));
       	
		   char ck_resetdatabase[20];
		   _itoa( m_ck_resetdatabase, ck_resetdatabase, 10 );//转换为字符串
		   //向数据表中初始化字段写入数据
		   m_pRecordsetout->PutCollect("初始化", _variant_t(ck_resetdatabase));
       				
		   char ck_setuserability[20];
		   _itoa( m_ck_setuserability, ck_setuserability, 10 );//转换为字符串
		  //向数据表中权限设置字段写入数据
		   m_pRecordsetout->PutCollect("权限设置", _variant_t(ck_setuserability));
       	  //更新数据库
		   m_pRecordsetout->Update();
         
		MessageBox("修改成功!","客房管理系统");
		//	UpdateData(false);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
	m_pRecordsetout->Close();
	m_pRecordsetout = NULL;
//	CDialog::OnOK();
}

BOOL CSetuserabilitydlg::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	// 关闭记录集
//	m_pRecordset->Close();
//	m_pRecordset = NULL;
	return CDialog::DestroyWindow();
}

void CSetuserabilitydlg::Ondeleteuser() 
{
	// TODO: Add your control notification handler code here

	
	m_pRecordset.CreateInstance(__uuidof(Recordset));

		_variant_t var;
		CString userid;
	// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
	// 
	try
	{//打开数据表
		m_pRecordset->Open("SELECT * FROM usertalbe",                // 查询 表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
	}
	catch(_com_error *e)//抛出异常
	{
		AfxMessageBox(e->ErrorMessage());
	}

	if( m_setability_list.GetCount() == 0)
		return;
	else if( m_setability_list.GetCurSel() < 0 ||  m_setability_list.GetCurSel() >  m_setability_list.GetCount())
		 m_setability_list.SetCurSel(0);

	try
	{
		// 删除当前行记录
		m_pRecordset->Delete(adAffectCurrent);
		m_pRecordset->Update();

		// 删除列表中当前值
		int nCurSel =  m_setability_list.GetCurSel();
		 m_setability_list.DeleteString(nCurSel);
		if(nCurSel == 0 && ( m_setability_list.GetCount() != 0))
			 m_setability_list.SetCurSel(nCurSel);
		else if( m_setability_list.GetCount() != 0)
			 m_setability_list.SetCurSel(nCurSel-1);
		Ondeletesetability();
		
	}
	catch(_com_error *e)//抛出异常
	{
		AfxMessageBox(e->ErrorMessage());
	}
}

void CSetuserabilitydlg::Ondeletesetability() 
{
	// TODO: Add your control notification handler code 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());
	}

	if( m_setability_list.GetCount() == 0)
		return;
	else if( m_setability_list.GetCurSel() < 0 ||  m_setability_list.GetCurSel() >  m_setability_list.GetCount())
		 m_setability_list.SetCurSel(0);

	try
	{
		// 删除当前行记录
		m_pRecordset->Delete(adAffectCurrent);
		m_pRecordset->Update();

		// 删除列表中当前值
/*		int nCurSel =  m_setability_list.GetCurSel();
		 m_setability_list.DeleteString(nCurSel);
		if(nCurSel == 0 && ( m_setability_list.GetCount() != 0))
			 m_setability_list.SetCurSel(nCurSel);
		else if( m_setability_list.GetCount() != 0)
			 m_setability_list.SetCurSel(nCurSel-1);*/
		
		
	}
	catch(_com_error *e)//抛出异常
	{
		AfxMessageBox(e->ErrorMessage());
	}
}

⌨️ 快捷键说明

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