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