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

📄 dlgsetcartype.cpp

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

#include "stdafx.h"
#include "videocapture.h"
#include "DlgSetCarType.h"
#include "VideoCaptureView.h"
#include "ADODB.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgSetCarType dialog


CDlgSetCarType::CDlgSetCarType(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgSetCarType::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgSetCarType)
	m_carId = _T("");
	m_carType = _T("");
	//}}AFX_DATA_INIT
}


void CDlgSetCarType::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgSetCarType)
	DDX_Control(pDX, IDC_LIST, m_list);
	DDX_Text(pDX, IDC_EDIT1, m_carId);
	DDV_MaxChars(pDX, m_carId, 3);
	DDX_Text(pDX, IDC_EDIT2, m_carType);
	DDV_MaxChars(pDX, m_carType, 100);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgSetCarType, CDialog)
	//{{AFX_MSG_MAP(CDlgSetCarType)
	ON_BN_CLICKED(IDC_DEL_CAR_TYPE, OnDelCarType)
	ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
	ON_BN_CLICKED(IDC_ADD_CAR_TYPE, OnAddCarType)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgSetCarType message handlers

BOOL CDlgSetCarType::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_list.SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
	m_list.InsertColumn(0,"代码",LVCFMT_LEFT,40);
	m_list.InsertColumn(1,"类型名称",LVCFMT_LEFT,200);
	
	CVideoCaptureView* pView=CVideoCaptureView::GetView();
	if(!pView)
		return FALSE;
	CADODataset* pRst=new CADODataset();
	try
	{	
		pRst->SetConnection(pView->pConn);
		pRst->Open("Select * from CLLX order by CLLX desc");
		CString str;
		while (!pRst->IsEof()) {
			pRst->GetFieldValue("CLLX",str);
			int item=m_list.InsertItem(0,str);
			pRst->GetFieldValue("LXMS",str);
			m_list.SetItemText(item,1,str);
			pRst->MoveNext();
		}
		pRst->Close();
		delete pRst;
	}
	catch (...) {
		WriteLog("维护车辆类型--数据读取出错");
		ShowMessage("维护车辆类型--数据读取出错",MB_OK | MB_ICONERROR);
	}
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgSetCarType::OnDelCarType() 
{
	try{
		CVideoCaptureView* pView=CVideoCaptureView::GetView();
		if(!pView)
			return;
		CString str;
		
		
		CString str1=m_list.GetItemText(nItem,0);
		str.Format("DELETE * from CLLX where CLLX='%s'",str1);
		pView->pConn->Execute(str);
		m_list.DeleteItem(nItem);
		if(m_list.GetItemCount()<=nItem)
			nItem--;
		m_list.SetHotItem(nItem);
		
		str=m_list.GetItemText(nItem,0);
		m_carId=str;
		str=m_list.GetItemText(nItem,0);
		m_carType=m_list.GetItemText(nItem,1);
		
		UpdateData(FALSE);
	}
	catch (...) {
		WriteLog("删除车辆类型失败!");
		ShowMessage("删除车辆类型失败!",MB_OK | MB_ICONERROR);
	}	
}

void CDlgSetCarType::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	nItem=pNMListView->iItem;
	
	CString str=m_list.GetItemText(nItem,0);
	m_carId=str;
	str=m_list.GetItemText(nItem,0);
	m_carType=m_list.GetItemText(nItem,1);
	
	UpdateData(FALSE);

	*pResult = 0;
}

void CDlgSetCarType::OnAddCarType() 
{
	try{
		CVideoCaptureView* pView=CVideoCaptureView::GetView();
		if(!pView)
			return;
		CADODataset* pRst = new CADODataset();
		pRst->SetConnection(pView->pConn);
		
		
		CString str;
		
		UpdateData();
		
		str.Format("select * from CLLX where CLLX='%s'",m_carId);
		pRst->Open(str,CADODataset::openQuery);
		if(pRst->IsEof())//insert
		{
			str.Format("insert into CLLX(CLLX,LXMS) values('%s','%s')",m_carId,m_carType);
			pRst->ExecSql(str);
			nItem=m_list.InsertItem(0,m_carId);
			m_list.SetItemText(nItem,1,m_carType);
			m_list.SetHotItem(nItem);
		}
		else //update
		{
			str.Format("update CLLX set LXMS ='%s' where CLLX='%s'",m_carType,m_carId);
			pRst->ExecSql(str);
			for(int i=0;i<m_list.GetItemCount();i++)
			{	
				str=m_list.GetItemText(i,0);
				str.MakeUpper();
				m_carId.MakeUpper();
				if(lstrcmp(str,m_carId)==0)
				{
					m_list.SetHotItem(i);
					m_list.SetItemText(i,1,m_carType);
					nItem=i;
					break;
				}
			}
		}
		UpdateData(FALSE);
	}
	catch (...) {
		WriteLog("添加修改车辆类型失败!");
		ShowMessage("添加修改车辆类型失败!",MB_OK | MB_ICONERROR);
	}	
}

⌨️ 快捷键说明

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