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

📄 findguazhangdlg.cpp

📁 系统主要包括住宿管理,客房管理,查询统计,报表管理,系统设置五个模块,适用于中小型宾馆酒店。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			//在列表框内显示该字段的值
			m_findguazhanglist.SetItemText(i,8,findgz_idnumber.GetBuffer(100));
            //读取数据表内票号字段的内容
			var = m_pRecordsetfindname->GetCollect("票号");
			if(var.vt != VT_NULL)
				findgz_ticketnumber = (LPCSTR)_bstr_t(var);
			//在列表框内显示该字段的值
			m_findguazhanglist.SetItemText(i,9,findgz_ticketnumber.GetBuffer(50));

            i++;
		
			m_pRecordsetfindname->MoveNext();//记录指针下移动一条
		}

		// 
		
	}
	catch(_com_error *e)//捕获读取异常情况,并显示
	{
		AfxMessageBox(e->ErrorMessage());
	}

	// 关闭记录集
	m_pRecordsetfindname->Close();
	m_pRecordsetfindname = NULL;

	//更新显示内容

	UpdateData(false);
}

void CFindguazhangdlg::OnCloseupDATETIMEPICKERfindguabegindate(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
		_variant_t var;
	m_pRecordsetfinddate1.CreateInstance(__uuidof(Recordset));
	// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
	// 
	UpdateData(true);
//	CTime findbeginTime;
// 	findbeginTime=findbeginTime.GetCurrentTime(); 
//	
//    m_findbegindate=findbeginTime;
///////////////////////////////////////////
	CString strsql;
   strsql.Format("SELECT * FROM guazhanginfo where 挂账单位='%s'",m_gz_fanddepname);
	int i=0;
    m_findguazhanglist.DeleteAllItems();
	try
	{   //打开数据库
		m_pRecordsetfinddate1->Open(_variant_t(strsql),                // 查询 表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
	}
	catch(_com_error *e)//捕获打开数据库时候可能出现的异常
	{
		AfxMessageBox(e->ErrorMessage());
	}
	
	try
	{
		if(!m_pRecordsetfinddate1->BOF)//判断指针是否在数据集最后
			m_pRecordsetfinddate1->MoveFirst();
		else
		{
			AfxMessageBox("表内数据为空");
			return;
		}

		// read data from the database table 
		while(!m_pRecordsetfinddate1->adoEOF)
		{
			var = m_pRecordsetfinddate1->GetCollect("日期");
			if(var.vt != VT_NULL)
				findgz_date = (LPCSTR)_bstr_t(var);
		    //格式化查询时间
			CString find1year,find1month,find1day;
            find1year=findgz_date.Mid(0,4);
			find1month=findgz_date.Mid(5,findgz_date.Find('-',6)-5);
			find1day=findgz_date.Mid(findgz_date.ReverseFind('-')+1,findgz_date.GetLength()-findgz_date.ReverseFind('-'));
			//构造时间对象
			CTime findtime(atoi(find1year),atoi(find1month),atoi(find1day),m_findbegindate.GetHour(),m_findbegindate.GetMinute(),m_findbegindate.GetSecond());
			
			if(m_findbegindate>findtime) 
			{//不满足查询条件,跳出
			      m_pRecordsetfinddate1->MoveNext();
			      continue;
			}
			else
			{//满足查询条件,查询满足条件的记录,并显示在列表框内
			   m_findguazhanglist.InsertItem(i,findgz_date.GetBuffer(50));
                  //读取数据表内挂账单位字段的内容
			   var = m_pRecordsetfinddate1->GetCollect("挂账单位");
			   if(var.vt != VT_NULL)
				  findgz_depname = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
                m_findguazhanglist.SetItemText(i,1,findgz_depname.GetBuffer(100));
              //读取数据表内摘要字段的内容
			   var = m_pRecordsetfinddate1->GetCollect("摘要");
			   if(var.vt != VT_NULL)
				findgz_sumery = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,2,findgz_sumery.GetBuffer(100));
               //读取数据表内住宿金额字段的内容
			   var =m_pRecordsetfinddate1->GetCollect("住宿金额");
			   if(var.vt != VT_NULL)
				findgz_spendmoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,3,findgz_spendmoney.GetBuffer(50));

                 //读取数据表内欠款金额字段的内容
			   var = m_pRecordsetfinddate1->GetCollect("欠款金额");
			   if(var.vt != VT_NULL)
			 	findgz_bowrowmoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,4,findgz_bowrowmoney.GetBuffer(50));
              //读取数据表内还款金额字段的内容
			   var = m_pRecordsetfinddate1->GetCollect("还款金额");
			   if(var.vt != VT_NULL)
				findgz_returnmoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,5,findgz_returnmoney.GetBuffer(50));
                //读取数据表内金额累计字段的内容
		    	var = m_pRecordsetfinddate1->GetCollect("金额累计");
			   if(var.vt != VT_NULL)
				findgz_summoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,6,findgz_summoney.GetBuffer(50));
               //读取数据表内姓名字段的内容
			   var = m_pRecordsetfinddate1->GetCollect("姓名");
			   if(var.vt != VT_NULL)
				findgz_name = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,7,findgz_name.GetBuffer(100));
                 //读取数据表内证件号码字段的内容
			   var = m_pRecordsetfinddate1->GetCollect("证件号码");
			   if(var.vt != VT_NULL)
				findgz_idnumber = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,8,findgz_idnumber.GetBuffer(100));
                 //读取数据表内票号字段的内容
		    	var =m_pRecordsetfinddate1->GetCollect("票号");
		    	if(var.vt != VT_NULL)
				findgz_ticketnumber = (LPCSTR)_bstr_t(var);
				//在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,9,findgz_ticketnumber.GetBuffer(50));
			
            i++;
		//移动记录指针
			m_pRecordsetfinddate1->MoveNext();
			}
		}

		// 
		
	}
	catch(_com_error *e)//捕获异常
	{
		AfxMessageBox(e->ErrorMessage());
	}

	// 关闭记录集
	m_pRecordsetfinddate1->Close();
	m_pRecordsetfinddate1 = NULL;

	//更新界面显示内容

	UpdateData(false);
	*pResult = 0;
}

void CFindguazhangdlg::OnCloseupDATETIMEPICKERfindguastopdate(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
			_variant_t var;
	m_pRecordsetfinddate2.CreateInstance(__uuidof(Recordset));
	// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
	// 
	UpdateData(true);
//	CTime findbeginTime;
// 	findbeginTime=findbeginTime.GetCurrentTime(); 
//	
//    m_findbegindate=findbeginTime;
///////////////////////////////////////////
	CString strsql;
   strsql.Format("SELECT * FROM guazhanginfo where 挂账单位='%s'",m_gz_fanddepname);
	int i=0;
    m_findguazhanglist.DeleteAllItems();
	try
	{//打开数据库
		m_pRecordsetfinddate2->Open(_variant_t(strsql),                // 查询 表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
	}
	catch(_com_error *e)//捕获异常
	{
		AfxMessageBox(e->ErrorMessage());
	}
	
	try
	{
		if(!m_pRecordsetfinddate2->BOF)//判断指针是否在数据集最后
			m_pRecordsetfinddate2->MoveFirst();
		else
		{//否则提示错误
			AfxMessageBox("表内数据为空");
			return;
		}

		// read data from the database table 
		while(!m_pRecordsetfinddate2->adoEOF)
		{
			var = m_pRecordsetfinddate2->GetCollect("日期");
			if(var.vt != VT_NULL)
				findgz_date = (LPCSTR)_bstr_t(var);
		    //格式化查询时间
			CString find1year,find1month,find1day;
            find1year=findgz_date.Mid(0,4);
			find1month=findgz_date.Mid(5,findgz_date.Find('-',6)-5);
			find1day=findgz_date.Mid(findgz_date.ReverseFind('-')+1,findgz_date.GetLength()-findgz_date.ReverseFind('-'));
			//构造时间对象
			CTime findtime(atoi(find1year),atoi(find1month),atoi(find1day),m_findbegindate.GetHour(),m_findbegindate.GetMinute(),m_findbegindate.GetSecond());
			
			if((m_findbegindate<findtime)&&(findtime<m_findstopdate))
			{//如果满足查询条件就执行查询
			   //并显示结果在列表框内   
			   m_findguazhanglist.InsertItem(i,findgz_date.GetBuffer(50));
                //读取数据表内挂账单位字段的内容
			   var = m_pRecordsetfinddate2->GetCollect("挂账单位");
			   if(var.vt != VT_NULL)
				  findgz_depname = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
                m_findguazhanglist.SetItemText(i,1,findgz_depname.GetBuffer(100));
               //读取数据表内摘要字段的内容
			   var = m_pRecordsetfinddate2->GetCollect("摘要");
			   if(var.vt != VT_NULL)
				findgz_sumery = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,2,findgz_sumery.GetBuffer(100));
                //读取数据表内住宿金额字段的内容
			   var =m_pRecordsetfinddate2->GetCollect("住宿金额");
			   if(var.vt != VT_NULL)
				findgz_spendmoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,3,findgz_spendmoney.GetBuffer(50));

               //读取数据表内欠款金额字段的内容
			   var = m_pRecordsetfinddate2->GetCollect("欠款金额");
			   if(var.vt != VT_NULL)
			 	findgz_bowrowmoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,4,findgz_bowrowmoney.GetBuffer(50));
              //读取数据表内还款金额字段的内容
			   var = m_pRecordsetfinddate2->GetCollect("还款金额");
			   if(var.vt != VT_NULL)
				findgz_returnmoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,5,findgz_returnmoney.GetBuffer(50));
                 //读取数据表内金额累计字段的内容
		    	var = m_pRecordsetfinddate2->GetCollect("金额累计");
			   if(var.vt != VT_NULL)
				findgz_summoney = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,6,findgz_summoney.GetBuffer(50));
                //读取数据表内姓名字段的内容
			   var = m_pRecordsetfinddate2->GetCollect("姓名");
			   if(var.vt != VT_NULL)
				findgz_name = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
			   m_findguazhanglist.SetItemText(i,7,findgz_name.GetBuffer(100));
                 //读取数据表内证件号码字段的内容
			   var = m_pRecordsetfinddate2->GetCollect("证件号码");
			   if(var.vt != VT_NULL)
				findgz_idnumber = (LPCSTR)_bstr_t(var);
			   //在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,8,findgz_idnumber.GetBuffer(100));
               //读取数据表内票号字段的内容
		    	var =m_pRecordsetfinddate2->GetCollect("票号");
		    	if(var.vt != VT_NULL)
				findgz_ticketnumber = (LPCSTR)_bstr_t(var);
				//在列表框内显示该字段的值
		    	m_findguazhanglist.SetItemText(i,9,findgz_ticketnumber.GetBuffer(50));
			
            i++;
		//移动记录指针
			m_pRecordsetfinddate2->MoveNext();
			}
			//不满足查询要求就终止
			else
			{m_pRecordsetfinddate2->MoveNext();
			      continue;
			}

		}

		// 
		
	}
	catch(_com_error *e)//捕获查询发生的异常
	{
		AfxMessageBox(e->ErrorMessage());
	}

	// 关闭记录集
	m_pRecordsetfinddate2->Close();
	m_pRecordsetfinddate2 = NULL;

	
   //更新显示
	UpdateData(false);
	*pResult = 0;
}

⌨️ 快捷键说明

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