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

📄 dlgquery.cpp

📁 电子监控的网络编程实例
💻 CPP
字号:
// DlgQuery.cpp : implementation file
//

#include "stdafx.h"
#include "videocapture.h"
#include "DlgQuery.h"
#include "VideoCaptureView.h"
#include "adodb.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgQuery dialog


CDlgQuery::CDlgQuery(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgQuery::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgQuery)
	m_dtBeginDate = 0;
	m_dtBeginTime = 0;
	m_dtEndDate = 0;
	m_dtEndTime = 0;
	//}}AFX_DATA_INIT
}


void CDlgQuery::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgQuery)
	DDX_Control(pDX, IDC_PROGRESS1, m_ctlP);
	DDX_DateTimeCtrl(pDX, IDC_DTBEGIN, m_dtBeginDate);
	DDX_DateTimeCtrl(pDX, IDC_DTBEGIN2, m_dtBeginTime);
	DDX_DateTimeCtrl(pDX, IDC_DTEND, m_dtEndDate);
	DDX_DateTimeCtrl(pDX, IDC_DTEND2, m_dtEndTime);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgQuery, CDialog)
	//{{AFX_MSG_MAP(CDlgQuery)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgQuery message handlers

BOOL CDlgQuery::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here

	m_dtEndDate=CTime::GetCurrentTime();
	m_dtEndTime=CTime::GetCurrentTime();
	m_dtBeginDate=CTime::GetCurrentTime();
	m_dtBeginTime=CTime::GetCurrentTime();
	
	UpdateData(false);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgQuery::OnOK() 
{
	// TODO: Add extra validation here
	CVideoCaptureView *pView=CVideoCaptureView::GetView();
	while (!pView) {
		CVideoCaptureView *pView=CVideoCaptureView::GetView();
	}
	UpdateData();
	CString sBeginTime;
	CString sEndTime;
	CString sSql;
	sBeginTime=m_dtBeginDate.Format("%Y-%m-%d ")+m_dtBeginTime.Format("%H:%M:%S");
	sEndTime=m_dtEndDate.Format("%Y-%m-%d ")+m_dtEndTime.Format("%H:%M:%S");
	
	if (!pView->ZDJC) {
		sSql.Format("Select XH,MBSD,HPHM,WZSJ,WZDD,XZSD from record where WZSJ between cdate('%s') and CDate('%s')  and zdjc='0' order by xh asc",sBeginTime,sEndTime);
		
	}else{
		sSql.Format("Select xh,hphm,hpys,wzsj,wzdd,bmp,hptp,xyhp from record where WZSJ between cdate('%s') and CDate('%s')  and zdjc='1' order by xh asc",sBeginTime,sEndTime);
		
	}
	//0 1 7 8
	
	try{
		CListCtrl* pLC;
		if (!pView->ZDJC) {
			pLC=(CListCtrl*)pView->GetDlgItem(IDC_LIST_DATA);
		}else{
			pLC=(CListCtrl*)pView->GetDlgItem(IDC_LIST_ZDJC);
		}
		
		CString sValue;
		LONG  nValue,nItem;
		long nHPYS;
		CString sXYHP;	
		CString XYHPs;
		CString sBKYY;
		CString BKYYs;

		CADODataset *pRst=new CADODataset();
		pRst->SetConnection(pView->pConn);
		pRst->Open(sSql,CADODataset::openQuery);
		if (!pRst->IsEof()) {
			long nMaxSum;
			nMaxSum=pRst->GetRecordCount();
			m_ctlP.SetRange(0,nMaxSum);			
			m_ctlP.SetPos(1);
			m_ctlP.ShowWindow(true);
		}
		while(!pRst->IsEof()) {	
			if (pView->ZDJC) {
				pRst->GetFieldValue("XH",sValue);			
				nItem=pLC->InsertItem(0,sValue);
				pRst->GetFieldValue("HPHM",sValue);
				pLC->SetItemText(nItem,1,sValue);
				
				
				pRst->GetFieldValue("HPYS",nHPYS);
				switch(nHPYS) {
				case 1:
					sValue="黄色";
					break;
				case 2:
					sValue="白色";
					break;
				case 3:
					sValue="黑色";
					break;
				default:
					sValue="蓝色";
				}
				pLC->SetItemText(nItem,2,sValue);
				
				pRst->GetFieldValue("WZSJ",sValue);
				pLC->SetItemText(nItem,3,sValue);
				
				pRst->GetFieldValue("WZDD",sValue);
				pLC->SetItemText(nItem,4,sValue);
				
				pRst->GetFieldValue("bmp",sValue);
				sValue=pView->DataPath + sValue;
				pLC->SetItemText(nItem,5,sValue);
				
				pRst->GetFieldValue("HPTP",sValue);
				sValue=pView->DataPath +  sValue;
				pLC->SetItemText(nItem,6,sValue);
				
				pRst->GetFieldValue("XYHP",sValue);
				
				
				
				XYHPs="";
				BKYYs="";
				
				if (sValue.GetLength()>0) {
					CString tmpStr1,tmpStr2;
					int iPos;
					int iPos2;
					tmpStr2=sValue;
					iPos=tmpStr2.Find(";",0);
					int iNum=0,iBKYY;
					
					while (iPos+1>0) {
						tmpStr1=tmpStr2.Left(iPos+1);
						tmpStr2=tmpStr2.Mid(iPos+1);
						iPos=tmpStr2.Find(";",0);
						iPos2=tmpStr1.Find(",",0);				
						if (iPos2+1>0) {
							sXYHP=tmpStr1.Left(iPos2);
							XYHPs=XYHPs+","+sXYHP;
							tmpStr1=tmpStr1.Mid(iPos2+1);
							iBKYY=atoi(tmpStr1.GetBuffer(0));
							sBKYY=pView->Array_FindInBKYYList(iBKYY);				
							BKYYs=BKYYs+","+sBKYY;
						}else{
							sXYHP=tmpStr1;
							iBKYY=-1;
						}				
					}
					
					tmpStr1=tmpStr2;
					iPos2=tmpStr1.Find(",",0);				
					if (iPos2+1>0) {
						sXYHP=tmpStr1.Left(iPos2);
						XYHPs=XYHPs+","+sXYHP;
						tmpStr1=tmpStr1.Mid(iPos2+1);
						iBKYY=atoi(tmpStr1.GetBuffer(0));
						sBKYY=pView->Array_FindInBKYYList(iBKYY);	
						BKYYs=BKYYs+","+sBKYY;
						
					}
					
					if (XYHPs.GetLength()>0) {
						XYHPs=XYHPs.Mid(1);
						BKYYs=BKYYs.Mid(1);
						pLC->SetItemText(nItem,7,XYHPs);
						pLC->SetItemText(nItem,8,BKYYs);
					}					
				}
			}else{			
				pRst->GetFieldValue("XH",sValue);			
				nItem=pLC->InsertItem(0,sValue);
				pRst->GetFieldValue("MBSD",sValue);
				pLC->SetItemText(nItem,1,sValue);
				pRst->GetFieldValue("HPHM",sValue);
				pLC->SetItemText(nItem,2,sValue);
				pRst->GetFieldValue("WZSJ",sValue);
				pLC->SetItemText(nItem,3,sValue);
				pRst->GetFieldValue("WZDD",sValue);
				pLC->SetItemText(nItem,4,sValue);
				pRst->GetFieldValue("XZSD",sValue);
				pLC->SetItemText(nItem,5,sValue);
			}
			m_ctlP.StepIt();
			pRst->MoveNext();
		}
		m_ctlP.ShowWindow(false);
		pRst->Close();
		delete pRst;
	}catch (...) {
		WriteLog("query error!");
	}

	CDialog::OnOK();
}

void CDlgQuery::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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