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

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

?? pcdmaccessdb.cpp

?? 《Windows CE 權威指南》(作者:(美)CHRIS MUENCH
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// PCDMAccessDB.cpp : Implementation of CPCDMAccessDB
#include "stdafx.h"
#include "PCDMDLL.h"
#include "PCDMAccessDB.h"

/////////////////////////////////////////////////////////////////////////////
// CPCDMAccessDB
// <BOOK_ADDON STEP5 Chapter 8.4.2> **************************************************
void __stdcall _com_issue_error(HRESULT hr)
{
	// Error handling goes here!
}
// </BOOK_ADDON STEP5 Chapter 8.4.2> **************************************************

// <BOOK_ADDON STEP4 Chapter 8.3.3> ******************************************
#define	PCDM_DB	833

STDMETHODIMP CPCDMAccessDB::AddProperty(VARIANT PID, long Sorted)
{
//#ifdef UNDER_CE  // <BOOK_DELETED STEP6 Chapter 9.2.3> *****
VARIANT tvPID;

//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		if (m_SortCnt<10)
		{
			VariantInit(&tvPID);
			VariantChangeType(&tvPID,&PID,0,VT_I4);
			m_DBSortOrder[m_SortCnt].propid=MAKELONG(CEVT_LPWSTR,tvPID.lVal);
			if (Sorted)
				m_DBSortOrder[m_SortCnt].dwFlags=CEDB_SORT_GENERICORDER;
			else
				m_DBSortOrder[m_SortCnt].dwFlags=0;
			m_SortCnt++;
		}
		return S_OK;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (Sorted==TRUE)
	{
		VariantInit(&tvPID);
		VariantChangeType(&tvPID,&PID,0,VT_I4);
		m_DBSortOrder[m_SortCnt].propid=MAKELONG(CEVT_LPWSTR,tvPID.lVal);
		m_DBSortOrder[m_SortCnt].dwFlags=CEDB_SORT_GENERICORDER;
		m_SortCnt++;
	}
//#endif	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::CreateTable(BSTR FileLocation, BSTR Name)
{
//#ifdef UNDER_CE	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
CEOID	CeOid=0;
HANDLE	tHandle;

//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		TCHAR strSQL[1024],tStr[200];

		wsprintf(strSQL,TEXT("CREATE DATABASE '%s'"),FileLocation);
		HRESULT hr=m_RS->Open(_variant_t(strSQL),_variant_t(TEXT("")),adOpenForwardOnly , adLockReadOnly , 1);
		wsprintf(strSQL,TEXT("DROP TABLE %s"),Name);
		hr=m_RS->Open(_variant_t(strSQL),_variant_t(FileLocation),adOpenForwardOnly , adLockReadOnly , 1);
		wsprintf(strSQL,TEXT("CREATE TABLE %s ("),Name);
		for (int i=0; i<m_SortCnt; i++)
		{
			wsprintf(tStr,TEXT("Fld%d varchar(200)"),HIWORD(m_DBSortOrder[i].propid));
			wcscat(strSQL,tStr);
			if (i<m_SortCnt-1)
				wcscat(strSQL,TEXT(","));
			else
				wcscat(strSQL,TEXT(")"));
		}
		hr=m_RS->Open(_variant_t(strSQL),_variant_t(FileLocation),adOpenForwardOnly , adLockReadOnly , 1);
		m_SortCnt=0;
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	tHandle = CeOpenDatabase(&CeOid,Name,0,0,NULL);          	
	if (tHandle!= INVALID_HANDLE_VALUE)
	{
#ifdef UNDER_CE
		CloseHandle(tHandle);
#else
		CeCloseHandle((HANDLE)tHandle);
#endif
		CeDeleteDatabase(CeOid);
	}
	if ((CeOid = CeCreateDatabase(Name,PCDM_DB,
      m_SortCnt,m_DBSortOrder))==NULL)
		return S_FALSE;
//#endif // <BOOK_DELETED STEP6 Chapter 9.2.3> *****

	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::OpenTable(BSTR FileLocation, BSTR Name, VARIANT PID, long *Handle)
{
//#ifdef UNDER_CE		// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
CEOID	CeOid=0;
HANDLE	hDataBase; 
CEPROPID	tPID=0;
VARIANT tvPID;

	VariantInit(&tvPID);
	VariantChangeType(&tvPID,&PID,0,VT_I4);
//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
TCHAR strSQL[1024],tStr[200];
HRESULT hr;
		wsprintf(strSQL,TEXT("SELECT * FROM %s "),Name);
		wsprintf(tStr,TEXT("Order By Fld%d "),tvPID.lVal);
		wcscat(strSQL,tStr);
		hr=m_RS->Open(_variant_t(strSQL),_variant_t(FileLocation),adOpenKeyset , adLockOptimistic , 1);
		*Handle=(long)m_RS;
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************

	for (int i=0;i<m_SortCnt;i++)
	{
		if (HIWORD(m_DBSortOrder[i].propid)==tvPID.lVal)
		{
			tPID=MAKELONG(LOWORD(m_DBSortOrder[i].propid),tvPID.lVal);
			break;
		}
	}
	hDataBase = CeOpenDatabase(&CeOid,Name,tPID,0,NULL);          	
	if (hDataBase == INVALID_HANDLE_VALUE)
	{
		*Handle=0;
		return S_FALSE;	
	}
	*Handle=(long)hDataBase;
	VariantCopy(&m_ActPID,&PID);

//#endif	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::CloseTable(long Handle)
{
	m_SortCnt=0;
	m_rfldCnt=0;
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		HRESULT hr=m_RS->Close();
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
#ifdef UNDER_CE	// <BOOK_MOVEDHERE STEP6 Chapter 9.2.3> *****
	CloseHandle((HANDLE)Handle);
//<BOOK_ADDON STEP6 Chapter 9.2.3> *********************************
#else
	CeCloseHandle((HANDLE)Handle);
//</BOOK_ADDON STEP6 Chapter 9.2.3> *********************************
#endif

	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::MoveFirst(long Handle)
{
//#ifdef UNDER_CE	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		HRESULT hr=m_RS->MoveFirst();
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (!(m_curRec=CeSeekDatabase((HANDLE)Handle,CEDB_SEEK_BEGINNING, 0, &m_dwIndex)))
		return S_FALSE;
//#endif	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::MoveLast(long Handle)
{
//#ifdef UNDER_CE	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		HRESULT hr=m_RS->MoveLast();
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (!(m_curRec=CeSeekDatabase((HANDLE)Handle, CEDB_SEEK_END,0, &m_dwIndex)))
		return S_FALSE;
//#endif	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****

	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::MoveNext(long Handle)
{
//#ifdef UNDER_CE	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		HRESULT hr=m_RS->MoveNext();
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (!(m_curRec=CeSeekDatabase((HANDLE)Handle, CEDB_SEEK_CURRENT, 1, &m_dwIndex)))
		return S_FALSE;
//#endif		// <BOOK_DELETED STEP6 Chapter 9.2.3> *****

	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::MovePrevious(long Handle)
{
//#ifdef UNDER_CE	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (m_useADO!=PCDMADO_NONE)
	{
		HRESULT hr=m_RS->MovePrevious();
		return hr;
	}
//</BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	if (!(m_curRec=CeSeekDatabase((HANDLE)Handle, CEDB_SEEK_CURRENT, -1, &m_dwIndex)))
		return S_FALSE;
//#endif			// <BOOK_DELETED STEP6 Chapter 9.2.3> *****

	return S_OK;
}

STDMETHODIMP CPCDMAccessDB::FindRecord(long Handle, VARIANT PID, VARIANT Value)
{
//#ifdef UNDER_CE	// <BOOK_DELETED STEP6 Chapter 9.2.3> *****
VARIANT tvPID,tvValue;
		
VariantInit(&tvPID);
VariantInit(&tvValue);
VariantChangeType(&tvPID,&PID,0,VT_I4);
VariantChangeType(&tvValue,&Value,0,VT_BSTR);
//<BOOK_ADDON STEP5 Chapter 8.4.2> *********************************
	switch (m_useADO)
	{
		case PCDMADO_V2:
		case PCDMADO_V3:
			{
				Fields		*pFields;
				Field20		*pField20;
Field	*pField;
				HRESULT hr;
				TCHAR tFldName[10];
				VARIANT_BOOL	tBOF,tEOF;
				VARIANT value,tBookMark;

				VariantInit(&tBookMark);
				m_RS->get_Bookmark(&tBookMark);
				m_RS->get_BOF(&tBOF);
				m_RS->get_EOF(&tEOF);
				if(!(tBOF==VARIANT_TRUE && tEOF==VARIANT_TRUE))
				{
					while (tEOF!=VARIANT_TRUE)
					{
						m_RS->get_Fields(&pFields);
						wsprintf(tFldName,TEXT("Fld%d"),tvPID.lVal);
	if (m_useADO==PCDMADO_V3)
	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品伊人久久久久av一坑| www.亚洲免费av| 国产精品乱码人人做人人爱| 日本伦理一区二区| 高潮精品一区videoshd| 天使萌一区二区三区免费观看| 中文字幕av一区二区三区免费看 | 欧美一区二区三区的| 成人黄色av电影| 老司机免费视频一区二区三区| 一区二区三区在线观看视频| 久久久亚洲国产美女国产盗摄| 欧美日韩精品二区第二页| 成人免费av网站| 国产精品一区二区久激情瑜伽| 婷婷综合五月天| 亚洲精品视频在线观看网站| 久久久精品中文字幕麻豆发布| 91精品视频网| 欧美天堂亚洲电影院在线播放| 成人免费av资源| 国产成人免费在线观看| 老色鬼精品视频在线观看播放| 五月婷婷综合网| 亚洲精品久久嫩草网站秘色| 欧美激情中文不卡| 国产午夜精品福利| 日韩欧美成人午夜| 欧美一区二区三区爱爱| 欧美精三区欧美精三区| 欧洲亚洲国产日韩| 欧美在线观看18| 色婷婷亚洲综合| 在线观看不卡一区| 日本电影亚洲天堂一区| 成人app软件下载大全免费| 国产自产高清不卡| 久久精品av麻豆的观看方式| 亚洲成人动漫在线观看| 亚洲大尺度视频在线观看| 亚洲综合激情网| 亚洲成人先锋电影| 亚洲第一成人在线| 奇米色一区二区三区四区| 天堂久久一区二区三区| 午夜精品久久久久久久久久| 香港成人在线视频| 美女看a上一区| 国产一本一道久久香蕉| 久久99久久精品| 国产电影一区在线| 成人午夜免费视频| 色诱亚洲精品久久久久久| 日本道色综合久久| 欧美日本一区二区三区| 欧美一区二区在线免费播放| 日韩精品资源二区在线| 欧美精品一区二区三| 欧美韩国日本一区| 一区二区三区四区视频精品免费 | 韩国女主播一区| 国产成人精品三级| 成人avav影音| 欧美亚洲精品一区| 日韩一区二区免费在线观看| 欧美精品一区二区三区很污很色的 | 亚洲精品成人精品456| 一区二区高清视频在线观看| 午夜精品久久久久久久久久久| 九九国产精品视频| av网站免费线看精品| 色哟哟国产精品免费观看| 欧美日韩免费一区二区三区| 日韩欧美一区二区视频| 日本一区二区成人在线| 亚洲一区二区3| 国产一区二区三区四区在线观看| aaa欧美大片| 日韩三级视频在线观看| 亚洲国产成人一区二区三区| 亚洲一区二区黄色| 国产剧情一区二区| 在线观看成人免费视频| 久久综合久久综合久久| 亚洲人成7777| 久久爱www久久做| 91片在线免费观看| 日韩免费福利电影在线观看| 国产精品视频一二| 蜜臀av一区二区三区| 成人av在线影院| 8x福利精品第一导航| 国产午夜精品美女毛片视频| 亚洲一区二区三区在线播放| 国产电影一区在线| 日韩情涩欧美日韩视频| 自拍偷拍亚洲综合| 另类调教123区| 欧美曰成人黄网| 国产色91在线| 免费久久99精品国产| 91免费看视频| 国产色产综合产在线视频| 天堂一区二区在线免费观看| 97精品国产露脸对白| 欧美本精品男人aⅴ天堂| 亚洲高清视频的网址| 9i看片成人免费高清| 精品国产乱子伦一区| 一片黄亚洲嫩模| av福利精品导航| 久久久国产午夜精品| 视频一区国产视频| 欧美在线色视频| 亚洲精品国产一区二区三区四区在线| 国产精品一二二区| 亚洲精品一区二区三区99| 三级欧美韩日大片在线看| 91国产丝袜在线播放| 国产精品国产三级国产aⅴ中文 | 国产精品人妖ts系列视频| 激情综合网av| 日韩免费视频一区二区| 午夜影院在线观看欧美| 欧美亚洲一区二区三区四区| 亚洲桃色在线一区| 99国产精品国产精品毛片| 国产亚洲欧美一区在线观看| 美国精品在线观看| 日韩视频在线你懂得| 婷婷成人激情在线网| 欧美性生活大片视频| 亚洲男同1069视频| 色婷婷综合久久久久中文一区二区| 国产精品欧美久久久久一区二区| 国产黄色成人av| 国产午夜亚洲精品羞羞网站| 韩国视频一区二区| 国产日韩欧美不卡在线| 国产麻豆9l精品三级站| 国产日韩欧美精品综合| 粉嫩嫩av羞羞动漫久久久| 亚洲国产精品二十页| 成人免费毛片嘿嘿连载视频| 欧美激情一区二区三区不卡| 粗大黑人巨茎大战欧美成人| 国产精品久久久久aaaa| voyeur盗摄精品| 亚洲另类在线制服丝袜| 色婷婷综合久久久中文字幕| 亚洲影视资源网| 制服丝袜中文字幕一区| 天天色天天爱天天射综合| 91精品久久久久久蜜臀| 欧美a级理论片| 久久精品这里都是精品| 高清日韩电视剧大全免费| 国产精品欧美一级免费| 欧美性受xxxx黑人xyx性爽| 亚洲第一搞黄网站| 亚洲精品在线三区| thepron国产精品| 亚洲v日本v欧美v久久精品| 欧美一区二区视频免费观看| 国产一区二区成人久久免费影院 | 国产成人精品综合在线观看 | 欧美性受xxxx| 黄色日韩网站视频| 中文字幕日韩av资源站| 欧美日韩国产综合久久 | 国产制服丝袜一区| 自拍偷拍国产亚洲| 欧美一区二区在线免费观看| 国产精品99久久久久久久vr| 日韩一区欧美一区| 91精品国产麻豆| 国产成人一区二区精品非洲| 亚洲三级小视频| 精品美女一区二区三区| 99久久er热在这里只有精品66| 日韩精品电影在线| 亚洲国产高清在线| 日韩欧美一级二级| 91麻豆.com| 国产精品综合网| 亚洲一卡二卡三卡四卡 | 自拍偷拍国产精品| 精品va天堂亚洲国产| 99久久精品一区| 国产一区二区按摩在线观看| 亚洲综合激情另类小说区| 精品久久久久久久一区二区蜜臀| 日本伦理一区二区| 高清国产午夜精品久久久久久| 午夜成人免费视频| 亚洲欧洲成人自拍| 久久美女高清视频| 欧美一级国产精品| 欧美日韩在线播放三区| 粉嫩久久99精品久久久久久夜|