亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rdapushdlg.cpp

?? 通過RDA和SQL Server 2000 for Windows CE
?? CPP
字號:
// RDAPushDlg.cpp : implementation file
//

#include "stdafx.h"
#include "RDAPush.h"
#include "RDAPushDlg.h"

#include "DlgPush.h"
#include "DlgPull.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CRDAPushDlg dialog

CRDAPushDlg::CRDAPushDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRDAPushDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRDAPushDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

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

BEGIN_MESSAGE_MAP(CRDAPushDlg, CDialog)
	//{{AFX_MSG_MAP(CRDAPushDlg)
	ON_BN_CLICKED(IDC_PUSH, OnPush)
	ON_BN_CLICKED(IDC_PULL, OnPull)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRDAPushDlg message handlers

BOOL CRDAPushDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen

	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}
//顯示遠程數據訪問時的錯誤
void    CRDAPushDlg::ShowErrors(ISSCEErrors* pISSCEErrors)
{
	HRESULT       hr;
	LONG          cbBuf;
	LONG          i;
	LONG          lErrorCount;
	LONG          lErrorIndex;
	LONG          lParamCount;
	LONG          lParamIndex;
	VARIANT       var;
	VARIANT       varParam;
	WCHAR         wszBuff[4096];
	WCHAR*        pwszBuffPos   = &wszBuff[0];
	BSTR          bstr;
	ISSCEError*   pISSCEError   = NULL;
	ISSCEParams*  pISSCEParams  = NULL;
	ISSCEParam*   pISSCEParam   = NULL;
	BOOL          fSuccess      = FALSE;
	
	//初始化變量
	VariantInit(&var);
	VariantInit(&varParam);
	
	//通過IISSCEErrors接口得到發生錯誤的數量
	if(FAILED(hr = pISSCEErrors->get_Count(&lErrorCount))) 
		goto Exit;
	if (lErrorCount <= 0)
	{
		::MessageBox(NULL, L"No errors!",L"show error", MB_OK);
		fSuccess = TRUE;
		goto Exit;
	}
	
	//用彈出對話框顯示每一條發生的錯誤
	for (lErrorIndex = 0; lErrorIndex < lErrorCount; lErrorIndex++)
    {
		cbBuf = swprintf(pwszBuffPos, L"ERROR  %d of %d",
			lErrorIndex+1, lErrorCount);
		pwszBuffPos += cbBuf;
		
		//得到錯誤記錄
		var.vt = VT_I4;
		var.lVal = lErrorIndex;
		if(FAILED(hr = pISSCEErrors->get_Item(var, &pISSCEError))) goto Exit;
		
		//得到錯誤詳細信息
		if (FAILED(hr = pISSCEError->get_Description(&bstr))) goto Exit;
		cbBuf = swprintf(pwszBuffPos, L"DESCRIPTION: '%s'", bstr);
		pwszBuffPos += cbBuf;
		SysFreeString(bstr);
		
		//錯誤信息編號
		if (FAILED(hr = pISSCEError->get_Number(&i))) goto Exit;
		cbBuf = swprintf(pwszBuffPos, L"NUMBER: %8.8X\r", i);
		pwszBuffPos += cbBuf;
		
		//本地錯誤
		if (FAILED(hr = pISSCEError->get_NativeError(&i))) goto Exit;
		cbBuf = swprintf(pwszBuffPos, L"NATIVE_ERROR: %d", i);
		pwszBuffPos += cbBuf;
		
		//得到錯誤源
		if (FAILED(hr = pISSCEError->get_Source(&bstr))) goto Exit;
		cbBuf = swprintf(pwszBuffPos, L"SOURCE: '%s'", bstr);
		pwszBuffPos += cbBuf;
		SysFreeString(bstr);
		
		//得到錯誤參數信息
		if (FAILED(hr = pISSCEError->get_Params(&pISSCEParams))) goto Exit;
		
		//得到錯誤參數的個數
		if (FAILED(hr = pISSCEParams->get_Count(&lParamCount))) goto Exit;
		
		//顯示每一個參數
		for (lParamIndex = 0; lParamIndex < lParamCount; lParamIndex++)
        {
			
			//得到錯誤參數對象
			var.vt = VT_I4;
			var.lVal = lParamIndex;
			if (FAILED(hr = pISSCEParams->get_Item(var, &pISSCEParam))) goto Exit;
			
			//得到并顯示錯誤參數值
			if (FAILED(hr = pISSCEParam->get_Param(&varParam))) goto Exit;
			if (VT_I4 == varParam.vt || VT_UI4 == varParam.vt)
            {
				cbBuf = swprintf(pwszBuffPos, L"P%d: %d", lParamIndex,
					(LONG) varParam.lVal);
            }
			else if (VT_I2 == varParam.vt || VT_UI2 == varParam.vt)
            {
				cbBuf = swprintf(pwszBuffPos, L"P%d: %d", lParamIndex,
					(LONG) varParam.iVal);
            }
			else if (VT_BSTR == varParam.vt)
            {
				cbBuf = swprintf(pwszBuffPos, L"P%d: '%s'", lParamIndex, 
					varParam.bstrVal);
            }
			pwszBuffPos += cbBuf;
			
			//清空參數變量
			VariantClear(&varParam);
			
			//釋放參數對象
			pISSCEParam->Release();
			pISSCEParam = NULL;
        }
		cbBuf = swprintf(pwszBuffPos, L"");
		pwszBuffPos += cbBuf;
		
    }
	
	//用彈出框顯示錯誤信息
	::MessageBox(NULL, wszBuff,L"Error", MB_OK);
	fSuccess = TRUE;
	
Exit:
	// 釋放錯誤參數對象
	if (pISSCEParam)
    {
		pISSCEParam->Release();
		pISSCEParam = NULL;
    }
	
	//釋放錯誤參數集對象
	if (pISSCEParams)
    {
		pISSCEParams->Release();
		pISSCEParams = NULL;
    }
	
	//釋放錯誤對象
	if (pISSCEError)
    {
		pISSCEError->Release();
		pISSCEError = NULL;
    }
	
	//如果獲取錯誤信息失敗
	if (!fSuccess)
    {
		::MessageBox(NULL, L"Faile to get errors!",L"show error", MB_OK);
    }
	return;
}

//向服務器提交數據
void CRDAPushDlg::OnPush() 
{
	ISSCERDA*			pCERDA = NULL;
	BSTR bStr = NULL;
	BSTR bConnectStr = NULL;
	BSTR bLocalConnectStr = NULL;
	BSTR bLocalTableName = NULL;
	
	SYSTEMTIME			systemtime;					// 系統時間
	double				timeTotal;					// 
	__int64				timeStart = 0;				// 開始操作時的時間
	__int64				timeStop;					// 結束操作時的時間
	WCHAR	wszBuffer[512];
	
   	CDlgPush dlgPush;
	if (dlgPush.DoModal())
	{
		//得到pCERDA接口總共消耗的時間
		HRESULT hr=CoInitializeEx(NULL,COINIT_MULTITHREADED);
	    hr = CoCreateInstance(CLSID_RemoteDataAccess, NULL, CLSCTX_INPROC_SERVER, IID_ISSCERDA, (LPVOID *)&pCERDA);
		ASSERT(hr == S_OK);
		ASSERT(pCERDA != NULL);
		//1、設置Internet URL
		bStr = SysAllocString(dlgPush.m_internetURL);
		pCERDA->put_InternetURL(bStr);
		SysFreeString(bStr);
		
		//2、設置Internet userName
		bStr = SysAllocString(dlgPush.m_internetUsername);
		pCERDA->put_InternetLogin(bStr);
		SysFreeString(bStr);
		
		//3、設置Internet password
		bStr = SysAllocString(dlgPush.m_internetPassword);
		pCERDA->put_InternetPassword(bStr);
		SysFreeString(bStr);
		
		
		//4、設置服務器連接串
		bConnectStr = SysAllocString(dlgPush.m_connectStr);
		
		//5、設置本地數據庫連接串
		bLocalConnectStr = SysAllocString(dlgPush.m_localConnectStr);
		pCERDA->put_LocalConnectionString(bLocalConnectStr);
		SysFreeString(bStr);
		
		//6、設置本地表名
		bLocalTableName = SysAllocString(dlgPush.m_localTableName);
		
		
		//記錄向服務器提交數據前的時間
		GetLocalTime(&systemtime);
		SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStart);
		
        //向服務器提交數據
		hr = pCERDA->Push(bLocalTableName,bConnectStr, BATCHINGOFF);
		
		SysFreeString(bLocalTableName);
		SysFreeString(bConnectStr);
		
		if (SUCCEEDED(hr))
		{
			//記錄向服務器提交數據后的時間
			GetLocalTime(&systemtime);
			SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStop);
            //記錄向服務器提交數據總的時間
			timeTotal = ((double)(timeStop - timeStart) / 10000000);
			swprintf(wszBuffer, _T("push succeed!\r\n\r\it takes time = %8.3fseconds!"), timeTotal); 
			AfxMessageBox(wszBuffer);
		}
		else
		{	
			//顯示向服務器提交數據失敗信息
			ISSCEErrors  *pISSCEErrors = NULL;
			if(SUCCEEDED(hr = pCERDA->get_ErrorRecords(&pISSCEErrors)))
			{
				ShowErrors(pISSCEErrors);
				pISSCEErrors->Release();
			}
		}
		//釋放遠程訪問接口
		CoUninitialize();
		pCERDA->Release();
	}
}

void CRDAPushDlg::OnPull() 
{
	ISSCERDA*			pCERDA = NULL;
	BSTR bStr = NULL;
	BSTR bConnectStr = NULL;
	BSTR bQueryStr = NULL;
	BSTR bLocalConnectStr = NULL;
	BSTR bLocalTableName = NULL;
	BSTR bErrorTableName  = NULL;
	RDA_TRACKOPTION trackOption = TRACKINGOFF;
	
	SYSTEMTIME			systemtime;					// 系統時間
	double				timeTotal;					// 總共消耗的時間
	__int64				timeStart = 0;				// 開始操作時的時間
	__int64				timeStop;					// 結束操作時的時間
	WCHAR	wszBuffer[512];
	
   	CDlgPull dlgPull;
	if (dlgPull.DoModal())
	{
		//得到pCERDA接口
		HRESULT hr=CoInitializeEx(NULL,COINIT_MULTITHREADED);
		hr = CoCreateInstance(CLSID_RemoteDataAccess, NULL, CLSCTX_INPROC_SERVER, IID_ISSCERDA, (LPVOID *)&pCERDA);
		ASSERT(hr == S_OK);
		ASSERT(pCERDA != NULL);
		//1、設置Internet URL
		bStr = SysAllocString(dlgPull.m_internetURL);
		pCERDA->put_InternetURL(bStr);
		SysFreeString(bStr);
		
		//2、設置Internet userName
		bStr = SysAllocString(dlgPull.m_internetUsername);
		pCERDA->put_InternetLogin(bStr);
		SysFreeString(bStr);
		
		//3、設置Internet password
		bStr = SysAllocString(dlgPull.m_internetPassword);
		pCERDA->put_InternetPassword(bStr);
		SysFreeString(bStr);
		
		//4、得到跟蹤類型
		if (dlgPull.m_tracking == L"TRACKINGON")
		{
			trackOption = TRACKINGON;
		}else if (dlgPull.m_tracking == L"TRACKINGOFF")
		{
			trackOption = TRACKINGOFF;
		}else if (dlgPull.m_tracking == L"TRACKINGON_INDEXES")
		{
			trackOption = TRACKINGON_INDEXES;
		}else if(dlgPull.m_tracking == L"TRACKINGOFF_INDEXES")
		{
			trackOption = TRACKINGOFF_INDEXES;
		}else
		{
			trackOption = TRACKINGOFF;
		}
		
		//5、設置錯誤表名
		bErrorTableName = SysAllocString(dlgPull.m_errorTableName);
		
		//6、設置服務器連接串
		bConnectStr = SysAllocString(dlgPull.m_connectStr);
		
		//7、設置本地數據庫連接串
		bLocalConnectStr = SysAllocString(dlgPull.m_localConnectStr);
		pCERDA->put_LocalConnectionString(bLocalConnectStr);
		SysFreeString(bStr);
		
		//8、設置本地表名
		bLocalTableName = SysAllocString(dlgPull.m_localTableName);
		
		//9、設置查詢的SQL語句
		bQueryStr = SysAllocString(dlgPull.m_queryStr);
		
		//記錄獲取服務器數據前的時間
		GetLocalTime(&systemtime);
		SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStart);
		
        //獲取服務器數據
		hr = pCERDA->Pull(bLocalTableName, 
			bQueryStr, 
			bConnectStr, 
			trackOption,
			bErrorTableName);
		
		SysFreeString(bLocalTableName);
		SysFreeString(bQueryStr);
		SysFreeString(bConnectStr);
		SysFreeString(bErrorTableName);
		
		if (SUCCEEDED(hr))
		{
			//記錄獲取服務器數據后的時間
			GetLocalTime(&systemtime);
			SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStop);
            //記錄獲取服務器數據的總時間
			timeTotal = ((double)(timeStop - timeStart) / 10000000);
			swprintf(wszBuffer, _T("pull success \r\n\r\it takes = %8.3fsecondes"), timeTotal); 
			AfxMessageBox(wszBuffer);
		}
		else
		{	
			//顯示獲取服務器數據錯誤
			ISSCEErrors  *pISSCEErrors = NULL;
			if(SUCCEEDED(hr = pCERDA->get_ErrorRecords(&pISSCEErrors)))
			{
				ShowErrors(pISSCEErrors);
				pISSCEErrors->Release();
			}
		}
		//釋放遠程訪問接口
		CoUninitialize();
		pCERDA->Release();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区三区三区| 色婷婷亚洲一区二区三区| jlzzjlzz亚洲女人18| 欧美日韩一区二区三区四区| wwww国产精品欧美| 五月婷婷综合网| 一本高清dvd不卡在线观看| 久久综合色8888| 视频一区视频二区中文| 91久久国产最好的精华液| 久久亚洲一区二区三区明星换脸| 亚洲综合色在线| 波多野结衣中文字幕一区二区三区| 91精品国产91久久久久久一区二区 | 韩国欧美国产1区| 欧美日韩在线不卡| 中文字幕人成不卡一区| 成人免费三级在线| 久久久精品国产99久久精品芒果| 日韩av一二三| 制服丝袜av成人在线看| 亚洲午夜激情网页| 欧美日韩一区三区四区| 亚洲五月六月丁香激情| 91国在线观看| 亚洲国产精品久久人人爱蜜臀| 99久久99久久综合| 亚洲桃色在线一区| 99九九99九九九视频精品| 中文字幕精品在线不卡| 成人综合日日夜夜| 国产欧美一区二区精品秋霞影院| 国产在线播放一区二区三区| 久久日一线二线三线suv| 国产乱人伦偷精品视频不卡| 精品免费国产一区二区三区四区| 久久成人18免费观看| 精品乱码亚洲一区二区不卡| 麻豆中文一区二区| 精品99久久久久久| 国产91精品欧美| 亚洲欧美在线aaa| 91黄视频在线观看| 日韩黄色在线观看| 精品福利一二区| 国产99一区视频免费| 亚洲天堂网中文字| 欧美三级资源在线| 另类人妖一区二区av| 久久久久国产免费免费| 成人av免费在线观看| 一区二区三区四区视频精品免费 | 国产欧美日产一区| 99久精品国产| 亚洲专区一二三| 91精品在线免费| 国产一区二区在线观看视频| 国产精品美女久久福利网站| 色久优优欧美色久优优| 欧美96一区二区免费视频| 久久色成人在线| 91香蕉视频黄| 日韩在线a电影| 国产欧美一区二区精品忘忧草| 91久久奴性调教| 精品亚洲欧美一区| 亚洲欧美日韩国产综合| 91精品国产欧美一区二区成人 | 久久精品夜夜夜夜久久| 91在线观看高清| 麻豆精品久久久| 日韩久久一区二区| xnxx国产精品| 欧美日韩免费视频| 国产成人丝袜美腿| 亚洲国产一区二区a毛片| 精品捆绑美女sm三区| 91免费版在线| 国产综合色视频| 亚洲444eee在线观看| 国产精品嫩草影院com| 337p亚洲精品色噜噜噜| www.欧美亚洲| 国产美女在线精品| 婷婷夜色潮精品综合在线| 国产精品蜜臀在线观看| 精品久久人人做人人爽| 欧美三级电影网| 91免费小视频| 国产成人av电影在线播放| 日韩av电影免费观看高清完整版| 国产精品狼人久久影院观看方式| 日韩欧美在线影院| 欧美日韩电影一区| 在线亚洲一区观看| 成人小视频在线| 国产精品一级二级三级| 美腿丝袜亚洲一区| 日本不卡一二三| 日本最新不卡在线| 午夜精品福利视频网站| 一个色妞综合视频在线观看| 国产精品久久久久久久蜜臀| 久久久久久久久久久久久女国产乱| 欧美日韩国产成人在线免费| 色妞www精品视频| 不卡的电影网站| gogo大胆日本视频一区| 国产99久久久精品| 粉嫩在线一区二区三区视频| 精品中文字幕一区二区| 美女被吸乳得到大胸91| 日韩成人伦理电影在线观看| 亚洲电影第三页| 丝袜美腿亚洲色图| 日韩在线一区二区三区| 日韩电影一区二区三区四区| 午夜av一区二区| 久久精品久久99精品久久| 久久精品噜噜噜成人av农村| 久久99精品久久久久婷婷| 久久国产精品无码网站| 国产麻豆欧美日韩一区| 国产成人h网站| 99精品视频中文字幕| 一本久道久久综合中文字幕| 欧美视频在线一区二区三区 | 狠狠色综合日日| 国产在线视频一区二区三区| 国产一区二区不卡在线| 成人激情小说网站| 92精品国产成人观看免费| 欧美三级在线视频| 欧美一级二级三级蜜桃| 久久久噜噜噜久久人人看| 国产精品免费视频网站| 亚洲在线免费播放| 免费成人深夜小野草| 成人一区二区三区中文字幕| 色欧美乱欧美15图片| 日韩美女主播在线视频一区二区三区| 精品国产一区二区三区不卡| 欧美激情一区二区三区蜜桃视频| 亚洲人成网站影音先锋播放| 婷婷中文字幕一区三区| 国产传媒日韩欧美成人| 欧美午夜精品久久久| 欧美成人女星排名| 国产精品国产三级国产aⅴ入口| 亚洲国产精品自拍| 国产精品538一区二区在线| 91视频在线看| 精品对白一区国产伦| 亚洲精品菠萝久久久久久久| 免费观看30秒视频久久| 99re亚洲国产精品| 精品欧美一区二区三区精品久久| 亚洲青青青在线视频| 精品一区免费av| 欧美无人高清视频在线观看| 久久久久久久久久电影| 首页综合国产亚洲丝袜| 99re热这里只有精品免费视频| 日韩一区二区在线免费观看| 自拍偷拍国产亚洲| 激情欧美一区二区| 欧美精品精品一区| 亚洲视频狠狠干| 国产成人免费视频网站| 在线综合视频播放| 洋洋av久久久久久久一区| 懂色av一区二区夜夜嗨| 日韩欧美区一区二| 亚洲r级在线视频| 99久久久国产精品| 欧美激情一区二区三区全黄| 久久99久久久久久久久久久| 欧美在线观看视频在线| 1000精品久久久久久久久| 国产一区二区女| 欧美一区二区黄| 亚洲成精国产精品女| 99久久久久久| 亚洲欧洲日本在线| 成人h动漫精品一区二区| 欧美精品一区二区三区在线播放| 日韩不卡在线观看日韩不卡视频| 在线观看亚洲精品| 亚洲精品免费播放| 91视频.com| 亚洲精品视频在线| 色综合久久88色综合天天免费| 欧美国产成人在线| 国产剧情一区二区| 国产日韩欧美制服另类| 国产乱码精品一区二区三区av| 精品久久久久久久久久久久久久久久久| 天天综合色天天| 欧美一区二区久久久| 美洲天堂一区二卡三卡四卡视频|