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

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

?? adodb.cpp

?? visual c++ 實(shí)例編程
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
		break;
	case VT_I2:
		str.Format("%d",vtFld.iVal);
		break;
	case VT_I4:
		str.Format("%d",vtFld.intVal);
		break;
	case VT_BOOL:
		if(vtFld.boolVal==-1)
		{str="TRUE";}
		else
		{str="FALSE";}
		break;
	case VT_DECIMAL:
		str.Format("%f",vtFld.decVal);
		break;
	default:
		strValue.Empty();
		break;
	}
	strValue = str;
	return true;
}

bool CADODataset::GetFieldValue(LPCTSTR lpFieldName, COleDateTime* time)
{
	_variant_t vtFld;
	
	vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
	switch(vtFld.vt) 
	{
	case VT_DATE:
		{
			time->m_dt = vtFld.dblVal;
			time->m_status =COleDateTime::DateTimeStatus::valid;//有效 
		}
		break;
	case VT_EMPTY:		  
	case VT_NULL:
		break;
	default:
		return false;
	}
	return true;
}

bool CADODataset::GetFieldValue(int nIndex, COleDateTime* time)
{
	_variant_t vtFld;
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;
	switch(vtFld.vt) 
	{
	case VT_DATE:
		{
		    time->m_dt = vtFld.dblVal;
			time->m_status =COleDateTime::DateTimeStatus::valid;//有效 		
		}
		break;
	case VT_EMPTY:
	case VT_NULL:
		break;
	default:
		return false;
	}
	return true;
}
bool CADODataset::GetFieldValue(LPCTSTR lpFieldName, bool& boolValue)
{
	_variant_t vtFld;
	
	vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
	switch(vtFld.vt)
	{
	case VT_BOOL:
		if(vtFld.boolVal==-1)
		  boolValue=true;
		else
          boolValue=false;
		break;
	default:
		return false;
	}
	return true;
}
bool CADODataset::GetFieldValue(int nIndex, bool& boolValue)
{
	_variant_t vtFld;
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;
	switch(vtFld.vt)
	{
	case VT_BOOL:
    	if(vtFld.boolVal==-1)
		  boolValue=true;
		else
          boolValue=false;
		break;
	default:
		return false;
	}
	return true;

}
bool CADODataset::IsFieldNull(LPCTSTR lpFieldName)
{
	_variant_t vtFld;
	
	vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
	return vtFld.vt == VT_NULL;
}

bool CADODataset::IsFieldNull(int nIndex)
{
	_variant_t vtFld;
	_variant_t vtIndex;

	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;
	return vtFld.vt == VT_NULL;
}

bool CADODataset::IsFieldEmpty(LPCTSTR lpFieldName)
{
	_variant_t vtFld;
	
	vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
	return vtFld.vt == VT_EMPTY || vtFld.vt == VT_NULL;
}

bool CADODataset::IsFieldEmpty(int nIndex)
{
	_variant_t vtFld;
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
		
	vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;
	return vtFld.vt == VT_EMPTY || vtFld.vt == VT_NULL;
}

DWORD CADODataset::GetRecordCount()
{
	DWORD nRows = 0;
	
	nRows = m_pRecordset->GetRecordCount();

	if(nRows == -1)
	{
		nRows = 0;
		if(m_pRecordset->adoEOF != VARIANT_TRUE)
			m_pRecordset->MoveFirst();
		
		while(m_pRecordset->adoEOF != VARIANT_TRUE)
		{
			nRows++;
			m_pRecordset->MoveNext();
		}
		if(nRows > 0)
			m_pRecordset->MoveFirst();
	}
	
	return nRows;
}

bool CADODataset::IsOpen()
{
	if( m_pRecordset)
		return m_pRecordset->GetState() != adStateClosed;
	return false;
}

void CADODataset::Close()
{
	if(IsOpen())
		m_pRecordset->Close();
		
}


/*
bool CADODataset::RecordBinding(CADORecordBinding &pAdoRecordBinding)
{
	IADORecordBinding *picRs = NULL;
	HRESULT hr;

	//Open the binding interface.
	if(FAILED(hr = m_pRecordset->QueryInterface(__uuidof(IADORecordBinding), (LPVOID*)&picRs )))
	{
		_com_issue_error(hr);
		return false;
	}
	
	//Bind the recordset to class
	if(FAILED( hr = picRs->BindToRecordset(&pAdoRecordBinding)))
	{
		_com_issue_error(hr);
		return false;
	}
	return true;
}
*/
void CADODataset::dump_com_error(_com_error &e)
{
	CString ErrorStr;
	
	
	_bstr_t bstrSource(e.Source());
	_bstr_t bstrDescription(e.Description());
	ErrorStr.Format( "CADORecordset 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("Query = " + GetQuery() + '\n' + ErrorStr);

	#ifdef _DEBUG
		AfxMessageBox( ErrorStr, MB_OK | MB_ICONERROR );
	#endif	
}

bool CADODataset::GetFieldInfo(LPCTSTR lpFieldName, CADOFieldInfo* fldInfo)
{
	_variant_t vtFld;
	
	strcpy(fldInfo->m_strName, (LPCTSTR)m_pRecordset->Fields->GetItem(lpFieldName)->GetName());
	//fldInfo->m_lSize = m_pRecordset->Fields->GetItem(lpFieldName)->GetActualSize();
	fldInfo->m_lDefinedSize = m_pRecordset->Fields->GetItem(lpFieldName)->GetDefinedSize();
	fldInfo->m_nType = m_pRecordset->Fields->GetItem(lpFieldName)->GetType();
	//fldInfo->m_lAttributes = m_pRecordset->Fields->GetItem(lpFieldName)->GetAttributes();
	return true;
}

bool CADODataset::GetFieldInfo(int nIndex, CADOFieldInfo* fldInfo)
{
	_variant_t vtFld;
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;

	strcpy(fldInfo->m_strName, (LPCTSTR)m_pRecordset->Fields->GetItem(vtIndex)->GetName());
	//fldInfo->m_lSize = m_pRecordset->Fields->GetItem(vtIndex)->GetActualSize();
	fldInfo->m_lDefinedSize = m_pRecordset->Fields->GetItem(vtIndex)->GetDefinedSize();
	fldInfo->m_nType = m_pRecordset->Fields->GetItem(vtIndex)->GetType();
	//fldInfo->m_lAttributes = m_pRecordset->Fields->GetItem(vtIndex)->GetAttributes();
	return true;
}


bool CADODataset::GetChunk(LPCTSTR lpFieldName, CString& strValue)
{
	CString str = _T("");
	long lngSize, lngOffSet = 0;
	_variant_t varChunk;    
	int ChunkSize = 100;

	lngSize = m_pRecordset->Fields->GetItem(lpFieldName)->ActualSize;
	
	str.Empty();
	while(lngOffSet < lngSize)
	{
		varChunk = m_pRecordset->Fields->GetItem(lpFieldName)->GetChunk(ChunkSize);
		str += varChunk.bstrVal;
		lngOffSet += ChunkSize;
	}

	lngOffSet = 0;
	strValue = str;
	return TRUE;
}

CString CADODataset::GetString(LPCTSTR lpCols, LPCTSTR lpRows, LPCTSTR lpNull, long numRows)
{
	_bstr_t varOutput;
	_bstr_t varNull("");
	_bstr_t varCols("\t");
	_bstr_t varRows("\r");

	if(strlen(lpCols) != 0)
		varCols = _bstr_t(lpCols);

	if(strlen(lpRows) != 0)
		varRows = _bstr_t(lpRows);
	
	if(numRows == 0)
		numRows =(long)GetRecordCount();			
			
	varOutput = m_pRecordset->GetString(adClipString, numRows, varCols, varRows, varNull);

	return (LPCTSTR)varOutput;
}

CString IntToStr(int nVal)
{
	CString strRet;
	char buff[10];
	
	itoa(nVal, buff, 10);
	strRet = buff;
	return strRet;
}

CString LongToStr(long lVal)
{
	CString strRet;
	char buff[20];
	
	ltoa(lVal, buff, 10);
	strRet = buff;
	return strRet;
}

void CADODataset::Edit()
{
	m_nEditStatus = dbEdit;
}

bool CADODataset::AddNew()
{
	m_nEditStatus = dbEditNone;
	if(m_pRecordset->AddNew() != S_OK)
		return false;

	m_nEditStatus = dbEditNew;
	return true;
}

bool CADODataset::Update()
{
	bool bret = true;

	if(m_nEditStatus != dbEditNone)
	{
		if(m_pRecordset->Update() != S_OK)
			bret = false;
	}

	m_nEditStatus = dbEditNone;
	return bret;
}

void CADODataset::CancelUpdate()
{
	m_pRecordset->CancelUpdate();
	m_nEditStatus = dbEditNone;
}

bool CADODataset::SetFieldValue(int nIndex, CString strValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_BSTR;
	vtFld.bstrVal = _bstr_t(strValue);

	_variant_t vtIndex;	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	m_pRecordset->Fields->GetItem(vtIndex)->Value = _bstr_t(vtFld);//_bstr_t(strValue);
	return true;

}

bool CADODataset::SetFieldValue(LPCTSTR lpFieldName, CString strValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_BSTR;
	vtFld.bstrVal = _bstr_t(strValue);
	
	m_pRecordset->Fields->GetItem(lpFieldName)->Value = _bstr_t(vtFld);//_bstr_t(strValue);
	return true;
	
}

bool CADODataset::SetFieldValue(int nIndex, int nValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_I2;
	vtFld.iVal = nValue;
	
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	m_pRecordset->Fields->GetItem(vtIndex)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(LPCTSTR lpFieldName, int nValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_I2;
	vtFld.iVal = nValue;
	
	m_pRecordset->Fields->GetItem(lpFieldName)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(int nIndex, long lValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_I4;
	vtFld.lVal = lValue;
	
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	m_pRecordset->Fields->GetItem(vtIndex)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(LPCTSTR lpFieldName, long lValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_I4;
	vtFld.lVal = lValue;
	
	m_pRecordset->Fields->GetItem(lpFieldName)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(int nIndex, double dblValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_R8;
	vtFld.dblVal = dblValue;

	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	m_pRecordset->Fields->GetItem(vtIndex)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(LPCTSTR lpFieldName, double dblValue)
{
	_variant_t vtFld;
	vtFld.vt = VT_R8;
	vtFld.dblVal = dblValue;
		
	m_pRecordset->Fields->GetItem(lpFieldName)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(int nIndex, COleDateTime time)
{
	_variant_t vtFld;
	vtFld.vt = VT_DATE;
	vtFld.date = time;
	
	_variant_t vtIndex;
	
	vtIndex.vt = VT_I2;
	vtIndex.iVal = nIndex;
	
	m_pRecordset->Fields->GetItem(vtIndex)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetFieldValue(LPCTSTR lpFieldName, COleDateTime time)
{
	_variant_t vtFld;
	vtFld.vt = VT_DATE;
	vtFld.date = time;
	
	m_pRecordset->Fields->GetItem(lpFieldName)->Value = vtFld;
	return true;
	
}

bool CADODataset::SetBookmark()
{
	if(m_varBookmark.vt != VT_EMPTY)
	{
		m_pRecordset->Bookmark = m_varBookmark;
		return true;
	}
	return false;
}

bool CADODataset::Delete()
{
	if(m_pRecordset->Delete(adAffectCurrent) != S_OK)
		return false;

	if(m_pRecordset->Update() != S_OK)
		return false;

	return true;
}

bool CADODataset::Find(LPCTSTR lpFind, int nSearchDirection)
{

	m_strFind = lpFind;
	m_nSearchDirection = nSearchDirection;

	ASSERT(!m_strFind.IsEmpty());

	if(m_nSearchDirection == searchForward)
	{
		m_pRecordset->Find(_bstr_t(m_strFind), 0, adSearchForward, "");
		if(!IsEof())
		{
			m_varBookFind = m_pRecordset->Bookmark;
			return true;
		}
	}
	else if(m_nSearchDirection == searchBackward)
	{
		m_pRecordset->Find(_bstr_t(m_strFind), 0, adSearchBackward, "");
		if(!IsBof())
		{
			m_varBookFind = m_pRecordset->Bookmark;
			return true;
		}
	}
	else
	{
		TRACE("Unknown parameter. %d", nSearchDirection);
		m_nSearchDirection = searchForward;
	}
	return false;
}

bool CADODataset::FindFirst(LPCTSTR lpFind)
{
	m_pRecordset->MoveFirst();
	return Find(lpFind);
}

bool CADODataset::FindNext()
{
	if(m_nSearchDirection == searchForward)
	{
		m_pRecordset->Find(_bstr_t(m_strFind), 1, adSearchForward, m_varBookFind);
		if(!IsEof())
		{
			m_varBookFind = m_pRecordset->Bookmark;
			return true;
		}
	}
	else
	{
		m_pRecordset->Find(_bstr_t(m_strFind), 1, adSearchBackward, m_varBookFind);
		if(!IsBof())
		{
			m_varBookFind = m_pRecordset->Bookmark;
			return true;
		}
	}
	return false;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区在线| 精品免费日韩av| 亚洲天天做日日做天天谢日日欢 | 日韩一区二区在线播放| 狠狠色狠狠色合久久伊人| 国产免费成人在线视频| 色狠狠综合天天综合综合| 婷婷国产在线综合| 国产精品私房写真福利视频| 欧美日韩电影一区| 粉嫩aⅴ一区二区三区四区 | 日韩精彩视频在线观看| 国产亚洲成aⅴ人片在线观看| 欧美系列一区二区| 国产精品一区二区在线观看不卡| 亚洲综合男人的天堂| 亚洲一区二区三区精品在线| 洋洋成人永久网站入口| 国产亚洲欧美一级| 日本一区二区不卡视频| 亚洲一区二区三区三| 亚洲精品国产无天堂网2021| 日韩欧美的一区| 欧美色涩在线第一页| va亚洲va日韩不卡在线观看| 奇米精品一区二区三区在线观看一| 中文字幕在线不卡国产视频| 久久久精品综合| 日韩欧美国产一区二区在线播放 | 久久久综合激的五月天| 欧美激情一区不卡| 亚洲免费观看高清完整版在线观看 | 亚洲sss视频在线视频| 最近日韩中文字幕| 亚洲一卡二卡三卡四卡五卡| 舔着乳尖日韩一区| 国产在线精品国自产拍免费| 日本伊人色综合网| 丝袜脚交一区二区| 韩国视频一区二区| www.av亚洲| 欧美日本在线观看| 久久亚洲精华国产精华液| 91精品国产入口| 欧美婷婷六月丁香综合色| 91精品婷婷国产综合久久竹菊| 欧洲生活片亚洲生活在线观看| 99国产精品久久久久久久久久| 成人自拍视频在线| 成人免费高清在线| 欧美日产在线观看| 久国产精品韩国三级视频| 午夜精品福利一区二区三区蜜桃| 精油按摩中文字幕久久| av在线不卡电影| 91精品婷婷国产综合久久| 国产欧美一区二区精品性色超碰| 亚洲伊人色欲综合网| 狠狠色狠狠色合久久伊人| 日本韩国一区二区三区视频| 精品成人佐山爱一区二区| 精品粉嫩超白一线天av| 亚洲美女视频在线| 国内精品视频一区二区三区八戒| 91丨porny丨国产| 91视频精品在这里| 精品电影一区二区| 亚洲444eee在线观看| 国产成人av电影| 日韩一级高清毛片| 亚洲精品高清视频在线观看| 国产自产v一区二区三区c| 精品视频免费在线| 中文成人综合网| 九九精品视频在线看| 欧洲在线/亚洲| 中文字幕一区二区三区在线播放| 蜜臀91精品一区二区三区 | 日韩成人精品在线观看| av不卡在线播放| 久久综合九色综合欧美98| 五月激情综合网| 91麻豆产精品久久久久久| 国产日产欧美一区| 麻豆成人久久精品二区三区红 | 久久综合999| 日本美女视频一区二区| 欧洲亚洲精品在线| 日韩毛片一二三区| 国产成人精品aa毛片| 色吊一区二区三区| 国产精品视频线看| 国产福利电影一区二区三区| 日韩午夜av一区| 日韩中文字幕1| 欧美色图免费看| 一区二区三区波多野结衣在线观看| 高清不卡在线观看av| 2021久久国产精品不只是精品| 男女男精品视频网| 91精品国产美女浴室洗澡无遮挡| 一区二区三区不卡在线观看| 色婷婷综合久色| 欧美精品一区二区三区一线天视频| 日韩和欧美一区二区三区| 欧美日韩国产中文| 亚洲va欧美va天堂v国产综合| 欧美亚洲国产一区二区三区va| 亚洲精品免费在线观看| 色婷婷久久99综合精品jk白丝| 亚洲特级片在线| 色播五月激情综合网| 怡红院av一区二区三区| 色婷婷国产精品| 亚洲一区二区三区视频在线| 欧美在线免费观看视频| 亚洲gay无套男同| 91精品国产色综合久久不卡蜜臀 | 91精品国产欧美一区二区18| 麻豆国产精品视频| 亚洲精品一区二区三区影院| 国产一区二区在线观看视频| 久久精子c满五个校花| 成人自拍视频在线| 亚洲色图视频网站| 欧美日韩中文一区| 日韩在线一区二区| 精品久久久久久无| 成人一级黄色片| 亚洲裸体xxx| 欧美丰满美乳xxx高潮www| 国产精品的网站| 国产麻豆精品theporn| 中文字幕精品一区二区精品绿巨人 | 大胆欧美人体老妇| 亚洲摸摸操操av| 欧美巨大另类极品videosbest | 中文字幕免费不卡在线| 91美女片黄在线观看91美女| 亚洲一区二区黄色| 精品噜噜噜噜久久久久久久久试看 | 美日韩一级片在线观看| 国产亚洲精品资源在线26u| av亚洲精华国产精华精华| 一级中文字幕一区二区| 日韩一区二区电影网| 国产河南妇女毛片精品久久久 | 久久99精品久久久久| 国产精品亲子乱子伦xxxx裸| 91麻豆精品视频| 青草国产精品久久久久久| 国产免费观看久久| 欧美日韩在线精品一区二区三区激情| 另类人妖一区二区av| 欧美一区二区日韩一区二区| 国产成人一区在线| 亚洲在线成人精品| 欧美aaaaaa午夜精品| 中文子幕无线码一区tr| 精品视频1区2区| 国产大陆a不卡| 午夜精品一区二区三区三上悠亚 | 老司机免费视频一区二区三区| 欧美国产日产图区| 欧美美女网站色| 成人综合日日夜夜| 日韩专区中文字幕一区二区| 国产精品全国免费观看高清 | 一本色道久久综合狠狠躁的推荐| 免费观看在线综合色| 亚洲天堂精品视频| 久久中文娱乐网| 欧美日韩精品欧美日韩精品| 国产精品888| 男人的j进女人的j一区| 亚洲免费色视频| 久久新电视剧免费观看| 欧美精品在线观看一区二区| caoporm超碰国产精品| 久久99精品一区二区三区三区| 尤物av一区二区| 国产精品乱人伦| 欧美精品一区二区三区蜜桃 | 亚洲精品一区二区三区四区高清| 欧美三级在线播放| 99精品黄色片免费大全| 国产美女久久久久| 蜜臀久久99精品久久久久宅男| 一区二区三区四区亚洲| 国产精品乱人伦中文| 久久亚洲影视婷婷| 91精品国产色综合久久不卡电影 | 色综合久久中文综合久久牛| 国产精品一级在线| 激情综合色播激情啊| 日本成人在线网站| 亚洲午夜在线视频| 欧美精品一区二区三区在线播放| 欧美精品视频www在线观看| 欧美自拍偷拍午夜视频|