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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ado.cpp

?? 一個modbus的編程庫
?? CPP
字號:
//
//  MODULE: Ado.cpp
//
//	AUTHOR: Carlos Antollini 
//
//  mailto: cantollini@hotmail.com
//
//	Date: 03/21/2002
//
//	Version 2.01
// 

#include "stdafx.h"

#ifdef FAILED
   #undef FAILED
#endif
   #define FAILED(Status) ((HRESULT)(Status)<0)    // OLE/COM

#define ChunkSize 100
///////////////////////////////////////////////////////
//
// CADODatabase Class
//

DWORD CADODatabase::GetRecordCount(_RecordsetPtr m_pRs)
{
	DWORD numRows = 0;
	
	numRows = m_pRs->GetRecordCount();

	if(numRows == -1)
	{
		if(m_pRs->EndOfFile != VARIANT_TRUE)
			m_pRs->MoveFirst();

		while(m_pRs->EndOfFile != VARIANT_TRUE)
		{
			numRows++;
			m_pRs->MoveNext();
		}
		if(numRows > 0)
			m_pRs->MoveFirst();
	}
	return numRows;
}

BOOL CADODatabase::Open(LPCTSTR lpstrConnection, LPCTSTR lpstrUserID, LPCTSTR lpstrPassword)
{
	HRESULT hr = S_OK;

	if(IsOpen())
		Close();

	if(strcmp(lpstrConnection, _T("")) != 0)
		m_strConnection = lpstrConnection;

	ASSERT(!m_strConnection.IsEmpty());

	try
	{
		hr = m_pConnection->Open(_bstr_t(m_strConnection), _bstr_t(lpstrUserID), _bstr_t(lpstrPassword), NULL);
		return hr == S_OK;
	}
	catch(_com_error &e)
	{
		dump_com_error(e);
		return FALSE;
	}
	
}

void CADODatabase::dump_com_error(_com_error &e)
{
	CString ErrorStr;
	
	
	_bstr_t bstrSource(e.Source());
	_bstr_t bstrDescription(e.Description());
	ErrorStr.Format( "CADODataBase Error\n\tCode = %08lx\n\tCode meaning = %s\n\tSource = %s\n\tDescription = %s\n",
		e.Error(), e.ErrorMessage(), (LPCSTR)bstrSource, (LPCSTR)bstrDescription );
	m_strLastError = _T("Connection String = " + GetConnectionString() + '\n' + ErrorStr);
	m_dwLastError = e.Error(); 
	#ifdef _DEBUG
		AfxMessageBox( ErrorStr, MB_OK | MB_ICONERROR );
	#endif	
}

BOOL CADODatabase::IsOpen()
{
	if(m_pConnection )
		return m_pConnection->GetState() != adStateClosed;
	return FALSE;
}

void CADODatabase::Close()
{
	if(IsOpen())
		m_pConnection->Close();
}


///////////////////////////////////////////////////////
//
// CADORecordset Class
//

CADORecordset::CADORecordset(CADODatabase* pAdoDatabase)
{
	m_pRecordset = NULL;
	m_pCmd = NULL;
	m_strQuery = _T("");
	m_pRecordset.CreateInstance(__uuidof(Recordset));
	m_pCmd.CreateInstance(__uuidof(Command));
	m_nEditStatus = CADORecordset::dbEditNone;
	m_nSearchDirection = CADORecordset::searchForward;

	m_pConnection = pAdoDatabase->GetActiveConnection();
}

BOOL CADORecordset::Open(_ConnectionPtr mpdb, LPCTSTR lpstrExec, int nOption)
{	
	Close();
	
	if(strcmp(lpstrExec, _T("")) != 0)
		m_strQuery = lpstrExec;

	ASSERT(!m_strQuery.IsEmpty());
	
	m_strQuery.TrimLeft();
	BOOL bIsSelect = m_strQuery.Mid(0, strlen("Select ")).CompareNoCase("select ") == 0 && nOption == openUnknown;

	try
	{
		m_pRecordset->CursorType = adOpenStatic;
		m_pRecordset->CursorLocation = adUseClient;
		if(bIsSelect || nOption == openQuery || nOption == openUnknown)
			m_pRecordset->Open((LPCSTR)m_strQuery, _variant_t((IDispatch*)mpdb, TRUE), 
							adOpenStatic, adLockOptimistic, adCmdUnknown);
		else if(nOption == openTable)
			m_pRecordset->Open((LPCSTR)m_strQuery, _variant_t((IDispatch*)mpdb, TRUE), 
							adOpenKeyset, adLockOptimistic, adCmdTable);
		else if(nOption == openStoredProc)
		{
			m_pCmd->ActiveConnection = mpdb;
			m_pCmd->CommandText = _bstr_t(m_strQuery);
			m_pCmd->CommandType = adCmdStoredProc;
			m_pConnection->CursorLocation = adUseClient;
			
			m_pRecordset = m_pCmd->Execute(NULL, NULL, adCmdText);
		}
		else
		{
			TRACE( "Unknown parameter. %d", nOption);
			return FALSE;
		}
	}
	catch(_com_error &e)
	{
		dump_com_error(e);
		return FALSE;
	}

	return m_pRecordset != NULL;
}

BOOL CADORecordset::Open(LPCTSTR lpstrExec, int nOption)
{
	ASSERT(m_pConnection != NULL);
	ASSERT(m_pConnection->GetState() != adStateClosed);
	return Open(m_pConnection, lpstrExec, nOption);
}

BOOL CADORecordset::GetFieldValue(LPCTSTR lpFieldName, double& dbValue)
{	
	double val = (double)NULL;
	_variant_t vtFld;
	
	try
	{
		vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
		switch(vtFld.vt)
		{
		case VT_R4:
			val = vtFld.fltVal;
			break;
		case VT_R8:
			val = vtFld.dblVal;
			break;
		case VT_DECIMAL:
			//Corrected by Jos

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日夜夜一区二区| 九一九一国产精品| 亚洲自拍另类综合| 日韩**一区毛片| 国产精品一二三| 色综合久久久久| 欧美性色黄大片| 欧美白人最猛性xxxxx69交| 中文在线资源观看网站视频免费不卡| 中文字幕一区二区三区精华液| 亚洲电影一区二区三区| 国产自产高清不卡| 色网站国产精品| 欧洲av一区二区嗯嗯嗯啊| 精品久久国产97色综合| 日韩美女视频一区| 久久69国产一区二区蜜臀| 99久久综合色| 精品成人一区二区三区| 亚洲欧美另类久久久精品2019| 蜜桃在线一区二区三区| 91蜜桃免费观看视频| 欧美久久久久久久久久| 国产精品私人影院| 麻豆精品一区二区av白丝在线| 国产精品亚洲视频| 欧美情侣在线播放| 亚洲摸摸操操av| 国产精品一二三四区| 3d动漫精品啪啪一区二区竹菊| 综合欧美亚洲日本| 国产成人日日夜夜| 欧美成人一区二区三区| 一区av在线播放| www.亚洲色图.com| 国产亚洲一区字幕| 午夜久久久影院| 日本精品免费观看高清观看| 国产欧美综合色| 国模冰冰炮一区二区| 欧美日韩国产三级| 一级日本不卡的影视| 国产91精品在线观看| 久久人人爽人人爽| 国产一区二区三区免费| 精品国产一区二区亚洲人成毛片| 最近日韩中文字幕| 成人午夜av电影| 欧美一区二区三区在线电影| 午夜久久久久久久久| 欧美日韩国产成人在线91| 亚洲成人精品一区| 欧美日韩激情一区| 亚洲中国最大av网站| 91猫先生在线| 一区二区三区在线看| 色综合天天综合给合国产| 久久综合色婷婷| 国产精品一区二区黑丝| 久久久久久免费| 粉嫩13p一区二区三区| 欧美精品一区二区在线播放| 国内精品国产成人国产三级粉色| 欧美不卡一区二区三区四区| 亚洲自拍偷拍麻豆| 777色狠狠一区二区三区| 日韩一区精品视频| 欧美成人精品1314www| 麻豆精品在线播放| 久久久久国产精品麻豆ai换脸 | 国产精品女上位| 不卡一区二区中文字幕| 亚洲色图在线播放| 欧美三级欧美一级| 蜜臀av一区二区在线免费观看| 亚洲精品在线观看视频| 成人精品免费视频| 一区二区三区久久久| 久久久www成人免费毛片麻豆| 在线日韩av片| 国产福利精品导航| 日韩电影免费一区| 自拍偷拍亚洲激情| 国产亚洲欧美一级| 9191成人精品久久| 色呦呦网站一区| 国产91精品一区二区麻豆网站 | 欧美日韩国产系列| av一二三不卡影片| 国产一区二区在线观看视频| 五月综合激情婷婷六月色窝| 亚洲欧美中日韩| 久久蜜桃香蕉精品一区二区三区| 欧美日本在线播放| 色综合久久88色综合天天免费| 国产老女人精品毛片久久| 日韩电影免费在线看| 亚州成人在线电影| 亚洲欧美日韩精品久久久久| 国产欧美日韩亚州综合| 久久综合色婷婷| 日韩欧美高清dvd碟片| 欧美日韩一区视频| 91免费看片在线观看| 成人综合日日夜夜| 粉嫩久久99精品久久久久久夜| 久久精品久久久精品美女| 丝袜亚洲另类欧美综合| 一区二区激情视频| 亚洲欧美激情插 | 久久久久国色av免费看影院| 日韩欧美亚洲另类制服综合在线| 欧美色男人天堂| 欧美日韩成人一区| xfplay精品久久| 精品成人免费观看| 久久久青草青青国产亚洲免观| 日韩美女一区二区三区四区| 欧美一区二区精品在线| 日韩一级免费观看| 欧美变态口味重另类| 26uuuu精品一区二区| 国产欧美日韩精品在线| 国产精品无遮挡| 亚洲天堂福利av| 一区二区三区av电影| 亚洲mv在线观看| 另类欧美日韩国产在线| 国产精品综合二区| fc2成人免费人成在线观看播放| 波多野结衣一区二区三区| 91亚洲精品一区二区乱码| 欧洲精品在线观看| 日韩欧美国产麻豆| 国产欧美中文在线| 夜夜嗨av一区二区三区中文字幕| 亚洲妇熟xx妇色黄| 狠狠色狠狠色合久久伊人| 粉嫩高潮美女一区二区三区| 色婷婷激情综合| 日韩欧美一卡二卡| 国产精品福利影院| 五月天久久比比资源色| 激情小说欧美图片| 97精品视频在线观看自产线路二| 欧美午夜电影网| 久久综合久久久久88| 亚洲欧美国产三级| 精品综合免费视频观看| 不卡的av在线播放| 91精品国产色综合久久ai换脸| 久久精品一区二区三区四区| 伊人开心综合网| 韩国av一区二区三区在线观看| 成人午夜免费av| 制服丝袜亚洲播放| 国产精品丝袜在线| 免费成人在线网站| 色综合久久综合网97色综合 | 日韩1区2区日韩1区2区| caoporen国产精品视频| 538prom精品视频线放| 亚洲色图视频网站| 国产一区二区剧情av在线| 在线免费观看视频一区| 久久久久久99精品| 日日夜夜精品视频免费| 99国产麻豆精品| 久久这里只有精品6| 午夜伊人狠狠久久| 99re视频精品| 亚洲国产成人私人影院tom| 日韩成人免费电影| 色88888久久久久久影院野外| 国产亚洲成aⅴ人片在线观看| 婷婷久久综合九色综合伊人色| 风间由美性色一区二区三区| 制服丝袜一区二区三区| 亚洲欧美日韩国产另类专区| 成人免费毛片a| 精品动漫一区二区三区在线观看| 亚洲黄色小说网站| 99久久国产综合精品色伊 | 9191久久久久久久久久久| 亚洲色图视频网| 国产精品亚洲第一| 精品区一区二区| 蜜臀久久99精品久久久久宅男 | 国产ts人妖一区二区| 日韩丝袜美女视频| 亚洲动漫第一页| 欧美中文字幕久久| 一区二区理论电影在线观看| 一本久久a久久精品亚洲| 《视频一区视频二区| 成人av网址在线| 国产精品久线观看视频| 99久久精品免费看国产免费软件| 国产亚洲欧美中文| 成人中文字幕电影|