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

📄 sqlcedemoview.cpp

📁 WinCE开发技巧与实例的配套源码
💻 CPP
字号:
// SQLCEDemoView.cpp : implementation of the CSQLCEDemoView class
//

#include "stdafx.h"
#include "resource.h"
#include "SQLCEDemo.h"

#include "MainFrm.h"
#include "SQLCEDemoDoc.h"
#include "SQLCEDemoView.h"

#include "SyncView.h"
#include "User.h"
#include "SQLCEOperator.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSQLCEDemoView

IMPLEMENT_DYNCREATE(CSQLCEDemoView, CFormView)

BEGIN_MESSAGE_MAP(CSQLCEDemoView, CFormView)
	//{{AFX_MSG_MAP(CSQLCEDemoView)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
	ON_BN_CLICKED(IDC_BUTTON9, OnButton9)
	ON_BN_CLICKED(IDC_BUTTON11, OnButton11)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
	ON_BN_CLICKED(IDC_BUTTON10, OnButton10)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSQLCEDemoView construction/destruction

CSQLCEDemoView::CSQLCEDemoView()
	: CFormView(CSQLCEDemoView::IDD)
{
	//{{AFX_DATA_INIT(CSQLCEDemoView)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CSQLCEDemoView::~CSQLCEDemoView()
{
}

void CSQLCEDemoView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSQLCEDemoView)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP

	DDX_Control(pDX, IDC_BUTTON2, m_cebtnLogout);
	DDX_Control(pDX, IDC_BUTTON3, m_cebtnCustomer);
	DDX_Control(pDX, IDC_BUTTON4, m_cebtnProduct);
	DDX_Control(pDX, IDC_BUTTON5, m_cebtnVisit);
	DDX_Control(pDX, IDC_BUTTON6, m_cebtnOrder);
	DDX_Control(pDX, IDC_BUTTON7, m_cebtnPromotion);
	DDX_Control(pDX, IDC_BUTTON8, m_cebtnStorage);
	DDX_Control(pDX, IDC_BUTTON9, m_cebtnEvaluate);
	DDX_Control(pDX, IDC_BUTTON10, m_cebtnBackup);
	DDX_Control(pDX, IDC_BUTTON11, m_cebtnMessage);
	//DDX_Control(pDX, IDC_BUTTON11, m_cebtnSync);	
	//DDX_Control(pDX, IDC_BUTTON11, m_cebtnAR);	
}

BOOL CSQLCEDemoView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CFormView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CSQLCEDemoView diagnostics

#ifdef _DEBUG
void CSQLCEDemoView::AssertValid() const
{
	CFormView::AssertValid();
}

void CSQLCEDemoView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

CSQLCEDemoDoc* CSQLCEDemoView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSQLCEDemoDoc)));
	return (CSQLCEDemoDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CSQLCEDemoView message handlers



void CSQLCEDemoView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	
	COLORREF color = ::GetSysColor(COLOR_BTNFACE) + RGB(30, 30, 30);
	m_cebtnCustomer.SetIcon(IDI_ICON_CUSTOMER, CSize(24, 24));
	m_cebtnCustomer.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnCustomer.SetFlat(FALSE);
	m_cebtnProduct.SetIcon(IDI_ICON_PRODUCT, CSize(24, 24));
	m_cebtnProduct.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnProduct.SetFlat(FALSE);
	m_cebtnVisit.SetIcon(IDI_ICON_VISIT, CSize(24, 24));
	m_cebtnVisit.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnVisit.SetFlat(FALSE);
	m_cebtnOrder.SetIcon(IDI_ICON_ORDER, CSize(24, 24));
	m_cebtnOrder.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnOrder.SetFlat(FALSE);
	m_cebtnPromotion.SetIcon(IDI_ICON_PROMOTION, CSize(24, 24));
	m_cebtnPromotion.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnPromotion.SetFlat(FALSE);
	m_cebtnStorage.SetIcon(IDI_ICON_STORAGE, CSize(24, 24));
	m_cebtnStorage.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnStorage.SetFlat(FALSE);
	m_cebtnEvaluate.SetIcon(IDI_ICON_EVALUATE, CSize(24, 24));
	m_cebtnEvaluate.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnEvaluate.SetFlat(FALSE);
	m_cebtnBackup.SetIcon(IDI_ICON_BACKUP, CSize(24, 24));
	m_cebtnBackup.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnBackup.SetFlat(FALSE);
	m_cebtnMessage.SetIcon(IDI_ICON_MESSAGE, CSize(24, 24));
	m_cebtnMessage.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnMessage.SetFlat(FALSE);
	m_cebtnSync.SetIcon(IDI_ICON_SYNC, CSize(24, 24));
	m_cebtnSync.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnSync.SetFlat(FALSE);
	m_cebtnAR.SetIcon(IDI_ICON_AR, CSize(24, 24));
	m_cebtnAR.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnAR.SetFlat(FALSE);
	m_cebtnLogout.SetIcon(IDI_ICON_LOGOUT, CSize(24, 24));
	m_cebtnLogout.SetColor(CCeButtonST::BTNST_COLOR_BK_IN, color);
	m_cebtnLogout.SetFlat(FALSE);

	
}

void CSQLCEDemoView::OnButton5() 
{
	//Replication合并
	::PostMessage(AfxGetMainWnd()->m_hWnd,WM_USER_COMMAND, CMainFrame.ReplicationForm, 0);			
}

void CSQLCEDemoView::OnButton3() 
{
	//RemoteSQL
	//RemoteSQL操作在RDA中体现		
	
}

void CSQLCEDemoView::OnButton7() 
{
	//RDA
	::PostMessage(AfxGetMainWnd()->m_hWnd,WM_USER_COMMAND, CMainFrame.RDAForm, 0);			
}

void CSQLCEDemoView::OnButton9() 
{
	//backup
	::PostMessage(AfxGetMainWnd()->m_hWnd,WM_USER_COMMAND, CMainFrame.BackupRestoreForm, 0);			
}

void CSQLCEDemoView::OnButton11() 
{
	::PostQuitMessage(0);
	
}

	// 可以使用AddSubscription建立数据库,或者CEADOXCatalog中的CreateDatabase函数建立catlog
	// 使用AddSubscription的方法和同步前建立数据库文件一样。

void CSQLCEDemoView::OnButton2() 
{
 	CSQLCEDemoApp *pTheApp = (CSQLCEDemoApp*)AfxGetApp();
	if (SQLCEOperator::GetTestData(L"2003-05-18",pTheApp->m_pADORs) &&
		!pTheApp->m_pADORs->IsRecordsetNULL())	{
		
		//获得总行数
		SQLCEOperator::m_pCountDiaoCha = pTheApp->m_pADORs->GetRecordCount()+1;
		ASSERT(SQLCEOperator::m_pCountDiaoCha != -1);	//得不到数量
		//把数据放入数组


		pTheApp->m_pDiaoCha=new structDiaoCha [SQLCEOperator::m_pCountDiaoCha];

		int nCount = 1;
		while (!(pTheApp->m_pADORs->IsLast()))
		{

			pTheApp->m_pDiaoCha[nCount].m_cs_checkcode = pTheApp->m_pADORs->GetFieldCStringValue(L"cs_checkcode");
			pTheApp->m_pDiaoCha[nCount].m_cust_code = pTheApp->m_pADORs->GetFieldCStringValue(L"cust_code");
			pTheApp->m_pDiaoCha[nCount].m_checkdate =pTheApp->m_pADORs->GetFieldDateValue(L"checkdate");
						
			pTheApp->m_pDiaoCha[nCount].m_user_id = pTheApp->m_pADORs->GetFieldLongValue(L"user_id");			
			pTheApp->m_pDiaoCha[nCount].m_checktypeid = pTheApp->m_pADORs->GetFieldLongValue(L"checktypeid");
			pTheApp->m_pDiaoCha[nCount].m_competitor_code = pTheApp->m_pADORs->GetFieldCStringValue(L"competitor_code");
			pTheApp->m_pDiaoCha[nCount].m_check_number = pTheApp->m_pADORs->GetFieldCStringValue(L"check_number");
			
			pTheApp->m_pADORs->MoveNext();
			nCount++;
		}		
	}
	AfxMessageBox(L"All data is ready.");


}

void CSQLCEDemoView::OnButton4() //CreateTable
{
 	CSQLCEDemoApp *pTheApp = (CSQLCEDemoApp*)AfxGetApp();
	CString strSQL;
	
	strSQL.Format(L"CREATE TABLE client ( \
	client_id	    int IDENTITY (1,1)   ,  \
	client_name		NCHAR VARYING(50), \
	client_age		NCHAR VARYING(10), \
	sex				NCHAR VARYING(2), \
	mobile_tel		NCHAR VARYING(50), \
	home_address	NCHAR VARYING(254), \
	client_type		NCHAR VARYING(20), \
	client_rank		NCHAR VARYING(20), \
	PRIMARY KEY(client_id))"); 

	if (pTheApp->m_pADOConn->ExecuteSQL(strSQL)>0)
		AfxMessageBox(L"Create Table successfully.");
		else
		AfxMessageBox(L"Create Table failure.");
	
}

void CSQLCEDemoView::OnButton6() //INSERT
{
 	CSQLCEDemoApp *pTheApp = (CSQLCEDemoApp*)AfxGetApp();
	CString strSQL;
	
strSQL.Format(L"INSERT INTO table4(cs_checkcode,cust_code,checkdate,user_id,checktypeid,competitor_code,check_number) VALUES('%s', '%s', '%s', %d, %d, '%s','%s')",
			L"CSC_091020030518215957",				
			L"NEWNEW",
			L"2003-8-11 21:59:57",
			CUser::m_pUser_ID,
			999,
			L"0989809",
			L"88888"
			);

	if (pTheApp->m_pADOConn->ExecuteSQL(strSQL)>0)
		AfxMessageBox(L"Insert successfully.");
		else
		AfxMessageBox(L"Insert failure.");
	
}

void CSQLCEDemoView::OnButton8() //UPDATE
{
 	CSQLCEDemoApp *pTheApp = (CSQLCEDemoApp*)AfxGetApp();
	CString strSQL;
	COleDateTime dtNow = COleDateTime::GetCurrentTime();
	strSQL.Format(L"UPDATE UserOnline SET end_time = '%s' ", CCommon::getFormatDateTime(dtNow, TRUE));

	if (pTheApp->m_pADOConn->ExecuteSQL(strSQL)>0)
		AfxMessageBox(L"Update successfully.");
		else
		AfxMessageBox(L"Update failure.");
	
}

void CSQLCEDemoView::OnButton10() //DELETE
{
 	CSQLCEDemoApp *pTheApp = (CSQLCEDemoApp*)AfxGetApp();
	CString strSQL;

	strSQL.Format(L"Delete from table4 where checkdate > '2003-08-01'");

	if (pTheApp->m_pADOConn->ExecuteSQL(strSQL)>0)
		AfxMessageBox(L"Delete successfully.");
		else
		AfxMessageBox(L"Delete failure.");
	
}

⌨️ 快捷键说明

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