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

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

?? oledbdatabase.cpp

?? oledb封裝類仿MFC的CRecordset
?? CPP
字號:
#include "StdAfx.h"
#include ".\dbkrnl.h"
LPOLESTR GetSubString(LPCOLESTR pSrc,LPCOLESTR pLable)
{
	LPOLESTR pBegin;
	LPOLESTR pEnd;
	LPOLESTR pDst;
	size_t nLength;
	pBegin=::wcsstr(pSrc,pLable);
	if(!pBegin)
	{
		ATLTRACE(L"參數pConnectString中找不到 %s 字符串標識\n",pLable);
		return NULL;
	}
	pBegin+=::wcslen(pLable);
	while((*pBegin==L'=')||(*pBegin==L' '))
		pBegin++;
	pEnd=::wcschr(pBegin,L';');
	if(!pEnd)
	{
		ATLTRACE(L"參數pConnectString中 %s 字符串標識沒有對應的 ; 結束標識\n",pLable);
		return NULL;
	}
	while(*(pEnd-1)==L' ')
		pEnd--;
	nLength=pEnd-pBegin;
	pDst=new WCHAR[nLength+1];
	::wcsncpy(pDst,pBegin,nLength);
	pDst[nLength]=0;
	return pDst;
}

COleDBDatabase::COleDBDatabase(void)
: m_pIDBInitialize(NULL)
{
}

COleDBDatabase::~COleDBDatabase(void)
{
	Close();
}

BOOL COleDBDatabase::Open(LPCOLESTR pSvrAddr, LPCOLESTR pUID, LPCOLESTR pPWD, LPCOLESTR pDatabase, LPCOLESTR pProgID)
{
	_ASSERT(pSvrAddr&&pUID&&pPWD&&pDatabase&&pProgID);
	HRESULT hr;
	CLSID   clsid;
	DBPROP InitProps[6];
	DBPROPSET rgInitPropSet[1];
	IDBProperties* pIDBProperties;
	hr=::CLSIDFromProgID(pProgID, &clsid);
	if(FAILED(hr))
	{
		ATLTRACE(L"ProgID Not Found");
		return FALSE;
	}
#ifdef _DEBUG
	hr=::CoCreateInstance(clsid,NULL,CLSCTX_INPROC,IID_IDBInitialize,(void**)&m_pIDBInitialize);
	if(FAILED(hr))
	{
		ATLTRACE(L"Create IDBInitialize interface failed,Result code is %08X\n",hr);
		return FALSE;
	}
#else
	::CoCreateInstance(clsid,NULL,CLSCTX_INPROC,IID_IDBInitialize,(void**)&m_pIDBInitialize);
#endif
	for(int i=0;i<6;i++)
	{
		::VariantInit(&InitProps[i].vValue);
		InitProps[i].dwOptions=DBPROPOPTIONS_REQUIRED;
		InitProps[i].colid=DB_NULLID;
	}
	//Password
	InitProps[0].dwPropertyID=DBPROP_AUTH_PASSWORD;
	InitProps[0].vValue.vt=VT_BSTR;
	InitProps[0].vValue.bstrVal=::SysAllocString(pPWD);
	//UID
	InitProps[1].dwPropertyID=DBPROP_AUTH_USERID;
	InitProps[1].vValue.vt=VT_BSTR;
	InitProps[1].vValue.bstrVal=::SysAllocString(pUID);
	//CATALOG
	InitProps[2].dwPropertyID=DBPROP_INIT_CATALOG;
	InitProps[2].vValue.vt=VT_BSTR;
	InitProps[2].vValue.bstrVal=::SysAllocString(pDatabase);
	//Sever
	InitProps[3].dwPropertyID=DBPROP_INIT_DATASOURCE;
	InitProps[3].vValue.vt=VT_BSTR;
	InitProps[3].vValue.bstrVal=::SysAllocString(pSvrAddr);
	//DBPROP_INIT_LCID
	InitProps[4].dwPropertyID=DBPROP_INIT_LCID;
	InitProps[4].vValue.vt=VT_I4;
	InitProps[4].vValue.lVal=(long)2052;
	//DBPROP_INIT_PROMPT
	InitProps[5].dwPropertyID=DBPROP_INIT_PROMPT;
	InitProps[5].vValue.vt=VT_I2;
	InitProps[5].vValue.iVal=(short)4;

	rgInitPropSet[0].cProperties=6;
	rgInitPropSet[0].guidPropertySet=DBPROPSET_DBINIT;
	rgInitPropSet[0].rgProperties=InitProps;
	m_pIDBInitialize->QueryInterface(IID_IDBProperties,(void**)&pIDBProperties);
	hr=pIDBProperties->SetProperties(1,rgInitPropSet);
	pIDBProperties->Release();
	for(int i=0;i<4;i++)
		::SysFreeString(InitProps[i].vValue.bstrVal);
	if(FAILED(hr))
	{
		ATLTRACE(L"IDBProperties Interface Call SetProperties Method Failed,Result code is %08X\n",hr);
		m_pIDBInitialize->Release();
		m_pIDBInitialize=NULL;
		return FALSE;
	}
	hr=m_pIDBInitialize->Initialize();
	if(FAILED(hr))
	{
		ATLTRACE(L"DataSource Initialize Failed,Result code is %08X\n",hr);
		m_pIDBInitialize->Release();
		m_pIDBInitialize=NULL;
		return FALSE;
	}
	return TRUE;
}

BOOL COleDBDatabase::Open(LPCOLESTR pConnectString)
{
	_ASSERT(pConnectString);
	LPOLESTR pSvrAddr;
	LPOLESTR pUID;
	LPOLESTR pPWD;
	LPOLESTR pDatabase;
	LPOLESTR pProgID = L"SQLOLEDB.1";
	LPOLESTR pRetProgID;
	BOOL bRet;
	if((pSvrAddr=GetSubString(pConnectString,L"SERVER"))==NULL)
		return FALSE;
	if((pUID=GetSubString(pConnectString,L"UID"))==NULL)
		return FALSE;
	if((pPWD=GetSubString(pConnectString,L"PWD"))==NULL)
		return FALSE;
	if((pDatabase=GetSubString(pConnectString,L"DATABASE"))==NULL)
		return FALSE;
	if((pRetProgID=GetSubString(pConnectString,L"PROGID")))
		pProgID=pRetProgID;
	bRet=Open(pSvrAddr,pUID,pPWD,pDatabase,pProgID);
	delete[] pSvrAddr;
	delete[] pUID;
	delete[] pPWD;
	delete[] pDatabase;
	if(pRetProgID)
		delete[] pRetProgID;

	return bRet;
}

void COleDBDatabase::Close(void)
{
	if(m_pIDBInitialize)
	{
		m_pIDBInitialize->Uninitialize();
		m_pIDBInitialize->Release();
		m_pIDBInitialize=NULL;
	}
}

BOOL COleDBDatabase::ExecuteSQL(LPCOLESTR pSQLStatement)
{
	_ASSERT(pSQLStatement);
	IDBCreateCommand* pIDBCreateCommand=NULL;
	IDBCreateSession* pIDBCreateSession=NULL;
	ICommand* pICommand;
	ICommandText* pICommandText;
	HRESULT hr;
	m_pIDBInitialize->QueryInterface(IID_IDBCreateSession,(void**)&pIDBCreateSession);
	hr=pIDBCreateSession->CreateSession(NULL,IID_IDBCreateCommand,(IUnknown**)&pIDBCreateCommand);
	pIDBCreateSession->Release();
	if (FAILED(hr))
	{
		ATLTRACE(L"IDBCreateSession Interface Call CreateSession Method Failed,Result code is %08X\n",hr);
		return FALSE;
	}
	hr=pIDBCreateCommand->CreateCommand(NULL,IID_ICommand,(IUnknown**)&pICommand);
	pIDBCreateCommand->Release();
	if(FAILED(hr))
	{
		ATLTRACE(L"IDBCreateCommand Interface Call CreateCommand Method Failed,Result code is %08X\n",hr);
		return FALSE;
	}
	pICommand->QueryInterface(IID_ICommandText,(void**)&pICommandText);
	hr=pICommandText->SetCommandText(DBGUID_DBSQL,pSQLStatement);
	if(FAILED(hr))
	{
		ATLTRACE(L"ICommandText Interface Call SetCommandText Method Failed,Result code is %08X\n",hr);
		pICommandText->Release();
		pICommand->Release();
		return FALSE;
	}
	hr=pICommand->Execute(NULL,IID_NULL,NULL,NULL,NULL);
	pICommand->Release();
	pICommandText->Release();
	if(FAILED(hr))
	{
		ATLTRACE(L"Execute Command Text Failed,Result code is %08X\n",hr);
		return FALSE;
	}
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜国产精品影院在线观看| 亚洲欧洲精品一区二区精品久久久| 亚洲成av人**亚洲成av**| 色婷婷一区二区三区四区| 国产福利一区在线观看| 欧美极品aⅴ影院| 99热这里都是精品| 亚洲国产aⅴ天堂久久| 欧美一区二区三区婷婷月色| 精品一区二区三区久久久| 日本一区免费视频| 色综合久久66| 青娱乐精品视频在线| 久久日韩粉嫩一区二区三区| 99精品欧美一区二区三区小说 | 国产精品99久久不卡二区| 久久午夜老司机| 成人免费看黄yyy456| 亚洲精品国产高清久久伦理二区| 精品视频免费看| 国产一区二区免费看| 亚洲欧美成人一区二区三区| 欧美一区二区三区喷汁尤物| 成人夜色视频网站在线观看| 午夜私人影院久久久久| 久久久另类综合| 欧美日韩视频在线观看一区二区三区 | 亚洲日本一区二区三区| 91精品国产美女浴室洗澡无遮挡| 国产一区二区三区在线观看免费视频| 国产精品二三区| 91精品国产黑色紧身裤美女| 成人短视频下载| 久久狠狠亚洲综合| 97精品国产97久久久久久久久久久久 | 中文字幕乱码亚洲精品一区| 欧美日韩国产bt| 成人黄色小视频在线观看| 日本不卡视频在线| 亚洲一区在线观看免费观看电影高清 | 91精品国产综合久久久久久| 成人精品亚洲人成在线| 免费不卡在线观看| 亚洲福利一二三区| 中文字幕一区二区三区四区不卡| 日韩视频免费观看高清完整版在线观看| 菠萝蜜视频在线观看一区| 美女一区二区视频| 丝袜a∨在线一区二区三区不卡| 中文在线资源观看网站视频免费不卡| 在线综合亚洲欧美在线视频| 日本高清不卡aⅴ免费网站| 国产一区二区三区电影在线观看| 天天射综合影视| 亚洲国产wwwccc36天堂| 亚洲精品成人精品456| 国产精品日韩精品欧美在线| 26uuuu精品一区二区| 日韩欧美电影一区| 亚洲第一激情av| 亚洲免费观看高清在线观看| 日本一区二区视频在线观看| 日韩久久久精品| 日韩一区二区三区四区| 在线综合视频播放| 欧美精品九九99久久| 欧美日韩一区在线观看| 色偷偷成人一区二区三区91| 91香蕉国产在线观看软件| 丁香另类激情小说| 99视频热这里只有精品免费| 成人免费视频国产在线观看| 懂色av一区二区三区蜜臀| 国产美女在线观看一区| 国产成人精品一区二| 国产成人鲁色资源国产91色综 | 从欧美一区二区三区| 国产美女娇喘av呻吟久久| 黄色小说综合网站| 国产电影精品久久禁18| 成人一区二区三区| 99国产精品久久久久久久久久| 99久久er热在这里只有精品66| proumb性欧美在线观看| 91农村精品一区二区在线| 91年精品国产| 欧美精品777| 欧美一区二区三区视频| 亚洲精品一区二区三区精华液| 久久久影院官网| 中文字幕日韩一区| 亚洲综合成人在线| 欧美国产一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美一区二区二区| 欧美精品99久久久**| 日韩欧美中文字幕制服| 久久视频一区二区| 国产精品免费av| 亚洲国产一二三| 国产一区二区三区不卡在线观看 | 7799精品视频| 久久精品人人做| 亚洲午夜精品网| 久久97超碰国产精品超碰| 国产不卡高清在线观看视频| 91激情五月电影| 欧美电影免费观看完整版| 亚洲国产精品成人综合| 亚洲综合一二三区| 国产乱码精品一区二区三区av| 91视频观看免费| 日韩免费观看高清完整版在线观看| 国产日产精品一区| 亚洲国产成人av| 成人精品亚洲人成在线| 在线成人高清不卡| 综合久久综合久久| 久久97超碰色| 欧美日韩国产综合视频在线观看| 日韩精品中文字幕在线不卡尤物| 国产日产亚洲精品系列| 日韩一区精品视频| 91视频.com| 国产视频一区二区三区在线观看| 亚洲国产综合在线| 高清不卡在线观看| 日韩欧美国产一区在线观看| 亚洲精品久久久久久国产精华液| 极品瑜伽女神91| 欧美日韩成人在线| 亚洲丝袜另类动漫二区| 国产剧情一区在线| 欧美日产在线观看| 亚洲免费视频成人| 国产99一区视频免费| 欧美一级免费大片| 午夜视频在线观看一区二区 | 亚洲第一成人在线| 99国内精品久久| 欧美国产一区视频在线观看| 毛片一区二区三区| 制服丝袜在线91| 亚洲国产精品一区二区www | 一区二区三区欧美久久| 成人黄色一级视频| 精品av久久707| 美国三级日本三级久久99| 欧美精品视频www在线观看| 亚洲免费观看高清完整版在线观看熊| 国产精品白丝jk黑袜喷水| 日韩一区二区三区视频在线 | 一区二区在线看| 91蜜桃传媒精品久久久一区二区| 国产天堂亚洲国产碰碰| 狠狠色狠狠色综合| 欧美电影免费观看高清完整版| 丝袜诱惑制服诱惑色一区在线观看| 色美美综合视频| 一区二区三区精品视频| 欧美亚洲国产bt| 亚洲一区二区三区视频在线| 在线亚洲一区二区| 亚洲精选一二三| 欧美日韩国产综合视频在线观看 | 欧美私人免费视频| 婷婷开心激情综合| 4438成人网| 麻豆国产91在线播放| 日韩视频免费观看高清完整版在线观看| 五月综合激情网| 日韩午夜三级在线| 精品一区二区久久| 国产三级一区二区| 波多野结衣91| 亚洲一级电影视频| 日韩欧美综合在线| 国产精品一区久久久久| 中文字幕一区三区| 欧日韩精品视频| 免费人成网站在线观看欧美高清| 日韩精品一区国产麻豆| 国产剧情av麻豆香蕉精品| 中文字幕第一页久久| 91免费精品国自产拍在线不卡 | 最新不卡av在线| 欧美日韩一区不卡| 韩国成人精品a∨在线观看| 国产精品麻豆久久久| 在线观看欧美精品| 精品一区二区免费看| 国产精品嫩草影院com| 在线亚洲人成电影网站色www| 香蕉乱码成人久久天堂爱免费| 欧美大片日本大片免费观看| 国产精品一级黄| 亚洲高清在线视频| 精品国产伦理网| 91免费国产在线| 久久精品国产99国产精品|