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

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

?? adomodule.cpp

?? wince 下面有關ADOCE方面的庫操作code!
?? CPP
字號:
/***********************************************************
 *
 * Written by Neill Miller of Northwestern University
 *
 * Contact author at neillm@cs.nwu.edu
 *
 * ADOCE Example using the MFC.  Targeted for HPC/PRO devices
 * running Windows CE 2.11+.
 *
 * This example is not an all purpose Database wrapper.  It
 * illustrates how to use ADOCE for database access, and assumes
 * to be working with a database that contains one table:
 *
 * The Relational schema for the table is:
 *
 * ToyTable(uid int, name text)
 *
 * This example shows how to access these tables within an
 * MS-Access database file (.cdb) on an HPC/PRO device.
 *
 * NOTE: ADOCE_I.C and ADOCE.H were included with the ADOCE SDK
 ***********************************************************/

#include "stdafx.h"

#include "ADOModule.h"

//Constructor - must call Initialize before using this class
ADOModule::ADOModule()
{
	m_bInit			= FALSE;
	m_pIFields		= NULL;
	m_pIRecordSet	= NULL;
}

//Must be called before using this class.
//The COM components are initialized here.
HRESULT ADOModule::Initialize()
{
	TCHAR		szFilter[] = _T("MS-Access Files (*.cdb)|*.cdb|");

	//You are required to pick the database file to be working with
	CFileDialog	cfd(TRUE,_T("cdb"),NULL,OFN_FILEMUSTEXIST,
				(LPCTSTR)szFilter,NULL);

	if (cfd.DoModal() == IDOK) {

		//Store the path of the database file for later use
		m_strFilePath	= cfd.GetPathName();

		//Initialize the COM system:
		//Note that the Multithreaded flag is the only 
		//one supported in Windows CE at this time.
		if (FAILED(CoInitializeEx(NULL, COINIT_MULTITHREADED))) {
			AfxMessageBox(_T("Error initializing COM"));
			return E_FAIL;
		}

		//Get the Recordset interface
		if (FAILED(CoCreateInstance(CLSID_ADOCERecordset, NULL,
									CLSCTX_INPROC_SERVER, IID_IADOCERecordset,
									(void**)&m_pIRecordSet))) {
			AfxMessageBox(_T("Could not load ADOCE"));
			return E_FAIL;
		}

		//Change class state to initialized state
		m_bInit = TRUE;
		
		//Make sure that we're dealing with a database that this
		//sample application can work with.
		if (!VerifyCompatible(TRUE)) {
			return E_FAIL;
		}

		return S_OK;
	}
	return E_FAIL;
}

ADOModule::~ADOModule()
{
	//Release the Components used
    if (m_pIFields)
        m_pIFields->Release();

    if (m_pIRecordSet)
        m_pIRecordSet->Release();

	//Shut down COM
	CoUninitialize();
}

BOOL ADOModule::UpdateFields()
{
	BOOL bRetVal = FALSE;

	if (isInitialized()) {
		if (FAILED(m_pIRecordSet->get_Fields(&m_pIFields))) {
			bRetVal = FALSE;
		} else {
			bRetVal = TRUE;
		}
	}
	return bRetVal;
}

//Tells if the selected file is Compatible with this sample
//application (i.e. has the proper tables within the database).
//If incoming parameter is TRUE, it will show a dialog box
//with the results - and a record count of the tables.
BOOL ADOModule::VerifyCompatible(BOOL bShow)
{
	long			size = 0;
	HRESULT			hr;
	COleVariant		source;
	COleVariant		connStr;
	CursorTypeEnum	cte	= adOpenKeyset;
	LockTypeEnum	lte	= adLockReadOnly;

	//Check to make sure that the 'ToyTable' table exists
	source.SetString(_T("ToyTable"),VT_BSTR);
	connStr.SetString((LPCTSTR)m_strFilePath,VT_BSTR);

	//Open the table
	hr = getRecordSet()->Open(source,connStr,cte,lte,adCmdTable);
	if (FAILED(hr)) {
		return FALSE;
	}

	//And get the record Count
	hr = getRecordSet()->get_RecordCount(&size);
	if (FAILED(hr)) {
		return FALSE;
	}

	CString strMsg;
	strMsg.Format(_T("'ToyTable' table opened properly with %ld records.\r\n"),size);

	//Close the 'ToyTable' recordSet
	hr = getRecordSet()->Close();
	if (FAILED(hr)) {
		return FALSE;
	}

	if (bShow) {
		AfxMessageBox(strMsg);
	}
	return TRUE;
}

//This is where the query takes place.  For the parameters
//to the Open call, be sure to look up RecordSet.Open in the
//Visual Basic documentation.
BOOL ADOModule::DoQuery(CString& strResult)
{
	HRESULT			hr;
	COleVariant		source;
	COleVariant		connStr;
	COleVariant		query;
	COleVariant		str;
	COleVariant		value;
	VARIANT_BOOL	eof		= FALSE;
	VARIANT_BOOL	vFalse	= FALSE;
	CursorTypeEnum	cte		= adOpenForwardOnly;
	LockTypeEnum	lte		= adLockReadOnly;
	IADOCEField		*field	= NULL;
	IADOCEFields	*fields	= NULL;

	//reset the incoming parameter
	strResult = _T("");

	//Build up the SQL Query
	CString strQuery = 
		_T("SELECT ToyTable.name FROM ToyTable");

	//Build up the Variant data types
	query.SetString((LPCTSTR)strQuery,VT_BSTR);
	connStr.SetString((LPCTSTR)m_strFilePath,VT_BSTR);

	//Execute the SQL query
	hr = getRecordSet()->Open(query,connStr,cte,lte,adCmdText);
	if (FAILED(hr)) {
		return FALSE;
	}
	
	//Format results of the query
	//***************************

	//First, let's grab the names of the people
	str.SetString(_T("name"),VT_BSTR);

	do {
		//Retrieve the name field from the recordSet
		fields = getFields();
		if (fields == NULL) {
			AfxMessageBox(_T("Internal error"));
			return FALSE;
		}
		hr = fields->get_Item(str,&field);
		if (FAILED(hr)) {
			return FALSE;
		}

		//Get the string name of the "name"
		hr = field->get_Value(&value);
		if (FAILED(hr)) {
			return FALSE;
		}

		//Grab the BSTR and convert it to a CString
		strResult += _T("ToyTable.Name = ");
		strResult += CString(value.bstrVal);
		strResult += _T("\r\n");

		//Move to the next record
		getRecordSet()->MoveNext();

		//Check to see if we're at the end yet
		getRecordSet()->get_EOF(&eof);
	} while( eof == vFalse );


	//*************************************
	//And then close the recordSet
	hr = getRecordSet()->Close();
	if (FAILED(hr)) {
		return FALSE;
	}

	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一二三区视频| 国产精品一区二区在线观看不卡 | 久久精品国产网站| 一个色在线综合| 亚洲女性喷水在线观看一区| 综合欧美一区二区三区| 国产精品人妖ts系列视频| 国产色综合一区| 国产精品免费观看视频| 亚洲欧洲成人自拍| 一区二区三区在线观看欧美| 一区二区三区91| 日日夜夜免费精品视频| 日韩中文字幕av电影| 日本亚洲电影天堂| 久久 天天综合| 国产福利一区二区三区视频 | 日韩美女视频一区二区在线观看| 欧美日韩久久久久久| 国产欧美日韩久久| 国产亚洲欧美激情| 亚洲欧美另类小说| 日韩电影在线一区二区三区| 激情五月激情综合网| eeuss鲁片一区二区三区在线观看| 色综合色综合色综合| 在线不卡欧美精品一区二区三区| 日韩免费高清av| 成人免费在线视频| 午夜精品在线看| 国产精品77777竹菊影视小说| 成人av网址在线| 在线成人小视频| 国产日韩综合av| 亚洲成人一区二区| 国产乱子伦视频一区二区三区 | 亚洲靠逼com| 麻豆精品久久精品色综合| 风间由美一区二区av101| 一本到不卡精品视频在线观看 | 麻豆成人久久精品二区三区小说| 国产成人激情av| 欧美精品久久一区二区三区| 亚洲精品一区在线观看| 亚洲精品成人在线| 国产高清久久久| 欧美一区二区视频在线观看2022| 国产精品免费久久久久| 奇米888四色在线精品| www.激情成人| 久久影视一区二区| 午夜欧美电影在线观看| 99视频在线精品| 久久久久久久一区| 亚洲bt欧美bt精品777| 99久久婷婷国产综合精品| 日韩一区二区三区av| 一区二区三区加勒比av| 成人性视频免费网站| 精品国产免费一区二区三区四区| 亚洲国产美女搞黄色| 91精品国产综合久久精品图片 | 欧美一区二区国产| 亚洲另类在线视频| 不卡的av网站| 中文字幕+乱码+中文字幕一区| 久久精品免费观看| 91精品国产色综合久久| 亚洲国产精品久久一线不卡| 91色视频在线| 亚洲欧美偷拍三级| av在线一区二区三区| 欧美激情一区二区三区四区| 国产黄色精品视频| 久久夜色精品一区| 麻豆91在线播放| 精品少妇一区二区三区视频免付费 | 欧美一级二级在线观看| 天天操天天色综合| 91精品国产丝袜白色高跟鞋| 日日摸夜夜添夜夜添精品视频| 欧美日韩国产色站一区二区三区| 一区二区三区四区在线播放 | 精品一区二区三区免费| 欧美一区二区精品| 久久国产精品一区二区| 精品国产网站在线观看| 黑人精品欧美一区二区蜜桃 | 欧美日韩一区在线观看| 亚洲精品乱码久久久久久日本蜜臀| 91麻豆免费视频| 亚洲国产精品综合小说图片区| 欧美日韩一区成人| 免费在线看一区| 欧美videos中文字幕| 国产91丝袜在线播放九色| 《视频一区视频二区| 欧美视频一区二区| 麻豆成人91精品二区三区| 久久久无码精品亚洲日韩按摩| 成人黄色小视频| 亚洲丶国产丶欧美一区二区三区| 日韩一级在线观看| 国产美女一区二区三区| 综合婷婷亚洲小说| 欧美一区二区人人喊爽| 成人性生交大片免费看中文网站| 一区二区三区欧美日| 欧美一级免费观看| 懂色av中文字幕一区二区三区| 亚洲精品va在线观看| 欧美一级理论性理论a| 波多野结衣中文一区| 午夜精品爽啪视频| 国产人成亚洲第一网站在线播放 | 日韩和欧美的一区| 久久久亚洲国产美女国产盗摄| 在线观看日韩一区| 国产一区二区91| 石原莉奈在线亚洲三区| 中文字幕一区二区三区四区| 欧美人牲a欧美精品| 99国产麻豆精品| 国产一区二区福利| 日韩高清一区在线| 亚洲综合一区二区三区| 国产日产欧产精品推荐色| 欧美日韩电影在线播放| 91偷拍与自偷拍精品| 国产乱码一区二区三区| 石原莉奈在线亚洲二区| 一区二区三区在线免费视频| 国产欧美一区二区三区在线看蜜臀 | 久久久久国产精品麻豆| 欧美精选在线播放| 色哟哟国产精品| 成人美女在线视频| 国产乱对白刺激视频不卡| 日日摸夜夜添夜夜添国产精品| 亚洲男人电影天堂| 亚洲欧洲国产日韩| 国产精品天美传媒沈樵| 欧美大片在线观看| 欧美一区二区私人影院日本| 欧美综合色免费| 色综合 综合色| eeuss影院一区二区三区| 国产成人av自拍| 国产盗摄一区二区| 国产一区二区三区国产| 国产揄拍国内精品对白| 久久99这里只有精品| 蜜桃在线一区二区三区| 青青国产91久久久久久| 亚洲第一av色| 午夜视频一区二区三区| 日韩高清不卡一区二区| 天天综合天天综合色| 视频一区视频二区中文| 视频在线观看一区| 日韩成人免费看| 美女任你摸久久| 国产一区二区三区电影在线观看| 激情文学综合丁香| 国产精品12区| 91丨porny丨户外露出| 日本高清不卡在线观看| 欧美三级中文字幕在线观看| 欧美精品第1页| 精品少妇一区二区三区日产乱码| 日韩女优制服丝袜电影| 国产欧美一区二区精品秋霞影院| 中文字幕 久热精品 视频在线| 中文字幕在线视频一区| 亚洲高清不卡在线观看| 欧美a级一区二区| 国产美女在线观看一区| 91丨porny丨国产入口| 精品视频999| 久久久久久久久久久久久女国产乱| 中文字幕中文字幕一区二区| 一区二区三区鲁丝不卡| 青青草国产精品亚洲专区无| 国产福利视频一区二区三区| 99久久精品国产毛片| 欧美一级艳片视频免费观看| 国产日韩欧美不卡在线| 亚洲综合免费观看高清完整版在线 | 懂色av一区二区夜夜嗨| 在线免费观看日本欧美| 欧美va在线播放| 亚洲美女偷拍久久| 久久福利资源站| 色悠久久久久综合欧美99| 精品国产百合女同互慰| 亚洲欧美区自拍先锋| 狠狠色丁香婷婷综合| 欧美在线一二三四区| 日本一区二区动态图| 日韩电影免费一区|