📄 findguazhangdlg.cpp
字号:
//在列表框内显示该字段的值
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 + -