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

📄 reportdlg.cpp

📁 本程序使用Visual C++6.0编写
💻 CPP
字号:
// ReportDlg.cpp : implementation file
//

#include "stdafx.h"
#include "sjsys.h"
#include "ReportDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CReportDlg dialog


CReportDlg::CReportDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CReportDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CReportDlg)
	m_Deviceid = _T("");
	m_TimeBegan = COleDateTime::GetCurrentTime();
	m_TimeEnd = COleDateTime::GetCurrentTime();
	listcount=0;
	//}}AFX_DATA_INIT
}


void CReportDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CReportDlg)
	DDX_Control(pDX, IDB_INQUIRE, m_inquire);
	DDX_Control(pDX, IDC_COMBO1, m_DeviceidCombo);
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_CBString(pDX, IDC_COMBO1, m_Deviceid);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_TimeBegan);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER2, m_TimeEnd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CReportDlg, CDialog)
	//{{AFX_MSG_MAP(CReportDlg)
	ON_BN_CLICKED(IDB_INQUIRE, OnInquire)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CReportDlg message handlers

BOOL CReportDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_inquire.SetShade(CShadeButtonST::SHS_VSHADE);
	RECT rect;
	m_list.GetWindowRect(&rect);
	width=rect.right-rect.left;
	m_list.SetExtendedStyle(WS_CHILD|WS_CLIPSIBLINGS|WS_EX_TOOLWINDOW|WS_BORDER|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

	m_list.InsertColumn(0,"设备",LVCFMT_LEFT,width/6);
	m_list.InsertColumn(1,"上网",LVCFMT_LEFT,width/6);
	m_list.InsertColumn(2,"下载",LVCFMT_LEFT,width/6);
	m_list.InsertColumn(3,"邮件",LVCFMT_LEFT,width/6);
	m_list.InsertColumn(4,"游戏",LVCFMT_LEFT,width/6);
	m_list.InsertColumn(5,"聊天",LVCFMT_LEFT,width/6);

	CString strSQL;
	HRESULT hTRes;
	_RecordsetPtr m_pRecordset;
	strSQL="select distinct Deviceid from Netconnectdetail";
	try
	{
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			//----------------------------------------------------
			hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				while(!(m_pRecordset->adoEOF))
				{
					CString s;
					s=(char*)(_bstr_t)(_variant_t)m_pRecordset->GetCollect("Deviceid");
					m_DeviceidCombo.AddString(s);
					m_pRecordset->MoveNext();
				}
			}
		}
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}
	m_pRecordset->Close();
    m_DeviceidCombo.SetCurSel(0);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

CString CReportDlg::TimeToString(COleDateTime ct)
{
    CString str;
	str.Format("%d-%d-%d ",ct.GetYear(),ct.GetMonth(),ct.GetDay());
	return str;
}

void CReportDlg::OnInquire() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);//将对话框数据更新到变量
	HRESULT hTRes;
	CString strSQL,sql;
	int flag=0;
//	m_list.DeleteAllItems();//清空列表框
	m_list.SetRedraw(FALSE);
	strSQL="select count(Name) as Name from Netconnectdetail";//构造查询语句
	if(m_Deviceid=="")
	{
		MessageBox("设备不能为空!");
		return;
	}
	if(TimeToString(m_TimeBegan)!="")//开始日期
	{
		strSQL=strSQL+" where Datetime>='"+TimeToString(m_TimeBegan)+"'";
		flag=1;
	}
	else
	{
		MessageBox("查询起始时间不能为空","提示",MB_OK);
		return;
	}
	if(TimeToString(m_TimeEnd)!="")//结束日期
	{
		strSQL=strSQL+" and Datetime<'"+TimeToString(m_TimeEnd)+"'";

	}
	if(m_Deviceid!=""&&flag==1)//
	{
		strSQL=strSQL+" and Deviceid='"+m_Deviceid+"'";
	}
	else if(m_Deviceid!=""&&flag==0)
	{
		strSQL=strSQL+" where Deviceid='"+m_Deviceid+"'";
	}
   	_RecordsetPtr m_pRecordset;
/*	try
	{
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				int i=0;
				m_list.DeleteAllItems();//清空列表框
				m_list.SetRedraw(FALSE);
				//将查询结果插入列表框控件中
				while(!(m_pRecordset->adoEOF))
				{		
					m_list.InsertItem(i,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("ID")));//
					m_list.SetItemText(i,1,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Name")));//
					m_list.SetItemText(i,2,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Status")));//
					m_list.SetItemText(i,3,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Deviceid")));//
					m_list.SetItemText(i,4,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Datetime")));//
					m_list.SetItemText(i,5,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Descr")));//
				//	m_list.SetItemText(i,6,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("transportCompany")));//
				//	m_list.SetItemText(i,7,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("transportType")));//
				//	m_list.SetItemText(i,8,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("houseInType")));//
				//	m_list.SetItemText(i,9,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("remark")));//
		
					m_pRecordset->MoveNext();//记录集指针向后移动
					i++;
				}
			}
		}
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}
	m_pRecordset->Close();//关闭记录集*/
	
   	try
	{
		int nItem=0;
		sql=strSQL+" and Name='浏览网页'";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)sql.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				//将查询结果插入列表框控件中
				if(!(m_pRecordset->adoEOF))
				{		
					//	sum=m_pRecordset->GetRecordCount();//MoveNext();//记录集指针向后移动
					nItem=m_list.InsertItem(listcount,m_Deviceid);//
			    	m_list.SetItemText(nItem,1,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Name")));
				}//
			}
		}
		sql=strSQL+" and Name='下载'";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)sql.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				//int i=0;
				//将查询结果插入列表框控件中
				if(!(m_pRecordset->adoEOF))
				{		
				//	sum=m_pRecordset->GetRecordCount();//MoveNext();//记录集指针向后移动
				//	m_list.InsertItem(0,m_Deviceid);//
				//	str.Format("%d",sum);
			    	m_list.SetItemText(nItem,2,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Name")));
				}//
			}
		}
       sql=strSQL+" and Name='收发邮件'";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)sql.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				//int i=0;
				//将查询结果插入列表框控件中
				if(!(m_pRecordset->adoEOF))
				{		
				//	sum=m_pRecordset->GetRecordCount();//MoveNext();//记录集指针向后移动
				//	m_list.InsertItem(0,m_Deviceid);//
				//	str.Format("%d",sum);
			    	m_list.SetItemText(nItem,3,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Name")));
				}//
			}
		}
        sql=strSQL+" and Name='MSN聊天'";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)sql.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				//int i=0;
				//将查询结果插入列表框控件中
				if(!(m_pRecordset->adoEOF))
				{		
				//	sum=m_pRecordset->GetRecordCount();//MoveNext();//记录集指针向后移动
				//	m_list.InsertItem(0,m_Deviceid);//
				//	str.Format("%d",sum);
			    	m_list.SetItemText(nItem,4,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Name")));
				}//
			}
		}
		sql=strSQL+" and Name='QQ游戏'";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)sql.GetBuffer(130),
			((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				//int i=0;
				//将查询结果插入列表框控件中
				if(!(m_pRecordset->adoEOF))
				{		
				//	sum=m_pRecordset->GetRecordCount();//MoveNext();//记录集指针向后移动
				//	m_list.InsertItem(0,m_Deviceid);//
				//	str.Format("%d",sum);
			    	m_list.SetItemText(nItem,5,(LPCSTR)_bstr_t(m_pRecordset->GetCollect("Name")));
				}//
			}
		}
	/*	*/
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}
	listcount++;
	m_pRecordset->Close();
	m_list.SetRedraw(TRUE);
	UpdateData(false);//更新对话框数据
}

⌨️ 快捷键说明

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