📄 dlgquery.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 + -