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

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

?? ado2.h

?? 我從網上下載的一個關于DataGrid的程序。
?? H
?? 第 1 頁 / 共 2 頁
字號:
//
//  MODULE: Ado2.h
//
//	AUTHOR: Carlos Antollini 
//
//  mailto: cantollini@hotmail.com
//
//	Date: 07/02/2003
//
//	Version 2.10
// 

#if !defined(AFX_ADO2_H_INCLUDED_)
#define AFX_ADO2_H_INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <afx.h>
#include <afxdisp.h>
#include <math.h>
//#include "C:\Program Files\Microsoft Analysis Services\Samples\Include\msmd.h"

#pragma warning (disable: 4146)
// CG : In order to use this code against a different version of ADO, the appropriate
// ADO library needs to be used in the #import statement
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile")
#import "C:\Program Files\Common Files\System\ado\MSJRO.DLL" no_namespace

using namespace ADODB;


#pragma warning (default: 4146)

#include "icrsint.h"

class CADOCommand;

struct CADOFieldInfo
{
	char m_strName[30]; 
	short m_nType;
	long m_lSize; 
	long m_lDefinedSize;
	long m_lAttributes;
	short m_nOrdinalPosition;
	BOOL m_bRequired;   
	BOOL m_bAllowZeroLength; 
	long m_lCollatingOrder;  
};

CString IntToStr(int nVal);

CString LongToStr(long lVal);

CString ULongToStr(unsigned long ulVal);

CString DblToStr(double dblVal, int ndigits = 20);

CString DblToStr(float fltVal);

class CADODatabase
{
public:
	enum cadoConnectModeEnum
    {	
		connectModeUnknown = adModeUnknown,
		connectModeRead = adModeRead,
		connectModeWrite = adModeWrite,
		connectModeReadWrite = adModeReadWrite,
		connectModeShareDenyRead = adModeShareDenyRead,
		connectModeShareDenyWrite = adModeShareDenyWrite,
		connectModeShareExclusive = adModeShareExclusive,
		connectModeShareDenyNone = adModeShareDenyNone
    };

	CADODatabase()
	{
		::CoInitialize(NULL);
			
		m_pConnection = NULL;
		m_strConnection = _T("");
		m_strLastError = _T("");
		m_dwLastError = 0;
		m_pConnection.CreateInstance(__uuidof(Connection));
		m_nRecordsAffected = 0;
		m_nConnectionTimeout = 0;
	}
	
	virtual ~CADODatabase()
	{
		Close();
		m_pConnection.Release();
		m_pConnection = NULL;
		m_strConnection = _T("");
		m_strLastError = _T("");
		m_dwLastError = 0;
		::CoUninitialize();
	}
	
	BOOL Open(LPCTSTR lpstrConnection = _T(""), LPCTSTR lpstrUserID = _T(""), LPCTSTR lpstrPassword = _T(""));
	_ConnectionPtr GetActiveConnection() 
		{return m_pConnection;};
	BOOL Execute(LPCTSTR lpstrExec);
	int GetRecordsAffected()
		{return m_nRecordsAffected;};
	DWORD GetRecordCount(_RecordsetPtr m_pRs);
	long BeginTransaction() 
		{return m_pConnection->BeginTrans();};
	long CommitTransaction() 
		{return m_pConnection->CommitTrans();};
	long RollbackTransaction() 
		{return m_pConnection->RollbackTrans();};
	BOOL IsOpen();
	void Close();
	void SetConnectionMode(cadoConnectModeEnum nMode)
		{m_pConnection->PutMode((enum ConnectModeEnum)nMode);};
	void SetConnectionString(LPCTSTR lpstrConnection)
		{m_strConnection = lpstrConnection;};
	CString GetConnectionString()
		{return m_strConnection;};
	CString GetLastErrorString() 
		{return m_strLastError;};
	DWORD GetLastError()
		{return m_dwLastError;};
	CString GetErrorDescription() 
		{return m_strErrorDescription;};
	void SetConnectionTimeout(long nConnectionTimeout = 30)
		{m_nConnectionTimeout = nConnectionTimeout;};

protected:
	void dump_com_error(_com_error &e);

public:
	_ConnectionPtr m_pConnection;

protected:
	CString m_strConnection;
	CString m_strLastError;
	CString m_strErrorDescription;
	DWORD m_dwLastError;
	int m_nRecordsAffected;
	long m_nConnectionTimeout;
};

class CADORecordset
{
public:
	BOOL Clone(CADORecordset& pRs);
	
	enum cadoOpenEnum
	{
		openUnknown = 0,
		openQuery = 1,
		openTable = 2,
		openStoredProc = 3
	};

	enum cadoEditEnum
	{
		dbEditNone = 0,
		dbEditNew = 1,
		dbEdit = 2
	};
	
	enum cadoPositionEnum
	{
	
		positionUnknown = -1,
		positionBOF = -2,
		positionEOF = -3
	};
	
	enum cadoSearchEnum
	{	
		searchForward = 1,
		searchBackward = -1
	};

	enum cadoDataType
	{
		typeEmpty = ADODB::adEmpty,
		typeTinyInt = ADODB::adTinyInt,
		typeSmallInt = ADODB::adSmallInt,
		typeInteger = ADODB::adInteger,
		typeBigInt = ADODB::adBigInt,
		typeUnsignedTinyInt = ADODB::adUnsignedTinyInt,
		typeUnsignedSmallInt = ADODB::adUnsignedSmallInt,
		typeUnsignedInt = ADODB::adUnsignedInt,
		typeUnsignedBigInt = ADODB::adUnsignedBigInt,
		typeSingle = ADODB::adSingle,
		typeDouble = ADODB::adDouble,
		typeCurrency = ADODB::adCurrency,
		typeDecimal = ADODB::adDecimal,
		typeNumeric = ADODB::adNumeric,
		typeBoolean = ADODB::adBoolean,
		typeError = ADODB::adError,
		typeUserDefined = ADODB::adUserDefined,
		typeVariant = ADODB::adVariant,
		typeIDispatch = ADODB::adIDispatch,
		typeIUnknown = ADODB::adIUnknown,
		typeGUID = ADODB::adGUID,
		typeDate = ADODB::adDate,
		typeDBDate = ADODB::adDBDate,
		typeDBTime = ADODB::adDBTime,
		typeDBTimeStamp = ADODB::adDBTimeStamp,
		typeBSTR = ADODB::adBSTR,
		typeChar = ADODB::adChar,
		typeVarChar = ADODB::adVarChar,
		typeLongVarChar = ADODB::adLongVarChar,
		typeWChar = ADODB::adWChar,
		typeVarWChar = ADODB::adVarWChar,
		typeLongVarWChar = ADODB::adLongVarWChar,
		typeBinary = ADODB::adBinary,
		typeVarBinary = ADODB::adVarBinary,
		typeLongVarBinary = ADODB::adLongVarBinary,
		typeChapter = ADODB::adChapter,
		typeFileTime = ADODB::adFileTime,
		typePropVariant = ADODB::adPropVariant,
		typeVarNumeric = ADODB::adVarNumeric,
		typeArray = ADODB::adVariant
	};
	
	enum cadoSchemaType 
	{
		schemaSpecific = adSchemaProviderSpecific,	
		schemaAsserts = adSchemaAsserts,
		schemaCatalog = adSchemaCatalogs,
		schemaCharacterSet = adSchemaCharacterSets,
		schemaCollections = adSchemaCollations,
		schemaColumns = adSchemaColumns,
		schemaConstraints = adSchemaCheckConstraints,
		schemaConstraintColumnUsage = adSchemaConstraintColumnUsage,
		schemaConstraintTableUsage  = adSchemaConstraintTableUsage,
		shemaKeyColumnUsage = adSchemaKeyColumnUsage,
		schemaTableConstraints = adSchemaTableConstraints,
		schemaColumnsDomainUsage = adSchemaColumnsDomainUsage,
		schemaIndexes = adSchemaIndexes,
		schemaColumnPrivileges = adSchemaColumnPrivileges,
		schemaTablePrivileges = adSchemaTablePrivileges,
		schemaUsagePrivileges = adSchemaUsagePrivileges,
		schemaProcedures = adSchemaProcedures,
		schemaTables =adSchemaTables,
		schemaProviderTypes = adSchemaProviderTypes,
		schemaViews = adSchemaViews,
		schemaProcedureParameters = adSchemaProcedureParameters,
		schemaForeignKeys = adSchemaForeignKeys,
		schemaPrimaryKeys = adSchemaPrimaryKeys,
		schemaProcedureColumns = adSchemaProcedureColumns,
		schemaDBInfoKeywords = adSchemaDBInfoKeywords,
		schemaDBInfoLiterals = adSchemaDBInfoLiterals,
		schemaCubes = adSchemaCubes,
		schemaDimensions = adSchemaDimensions,
		schemaHierarchies  = adSchemaHierarchies, 
		schemaLevels = adSchemaLevels,
		schemaMeasures = adSchemaMeasures,
		schemaProperties = adSchemaProperties,
		schemaMembers = adSchemaMembers,
	}; 


	BOOL SetFieldValue(int nIndex, int nValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, int nValue);
	BOOL SetFieldValue(int nIndex, long lValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, long lValue);
	BOOL SetFieldValue(int nIndex, unsigned long lValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, unsigned long lValue);
	BOOL SetFieldValue(int nIndex, double dblValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, double dblValue);
	BOOL SetFieldValue(int nIndex, CString strValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, CString strValue);
	BOOL SetFieldValue(int nIndex, COleDateTime time);
	BOOL SetFieldValue(LPCTSTR lpFieldName, COleDateTime time);
	BOOL SetFieldValue(int nIndex, bool bValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, bool bValue);
	BOOL SetFieldValue(int nIndex, COleCurrency cyValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, COleCurrency cyValue);
	BOOL SetFieldValue(int nIndex, _variant_t vtValue);
	BOOL SetFieldValue(LPCTSTR lpFieldName, _variant_t vtValue);

	BOOL SetFieldEmpty(int nIndex);
	BOOL SetFieldEmpty(LPCTSTR lpFieldName);

	void CancelUpdate();
	BOOL Update();
	void Edit();
	BOOL AddNew();
	BOOL AddNew(CADORecordBinding &pAdoRecordBinding);

	BOOL Find(LPCTSTR lpFind, int nSearchDirection = CADORecordset::searchForward);
	BOOL FindFirst(LPCTSTR lpFind);
	BOOL FindNext();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久久久久中文一区二区 | 国产欧美一区二区三区在线看蜜臀| 欧美伦理视频网站| 制服丝袜激情欧洲亚洲| 国产亚洲美州欧州综合国| 中文字幕中文字幕在线一区| 亚洲国产日产av| 粉嫩在线一区二区三区视频| 色网站国产精品| 精品国产sm最大网站免费看| 国产精品乱码妇女bbbb| 亚洲免费资源在线播放| 免费av网站大全久久| 99国产一区二区三精品乱码| 91精品综合久久久久久| 久久久精品综合| 午夜精品一区二区三区免费视频| 国产乱淫av一区二区三区| 欧美日韩三级一区二区| 国产精品久久久久毛片软件| 国产真实乱子伦精品视频| 欧美羞羞免费网站| 国产精品久久久久久久裸模| 久久国内精品视频| 国产成都精品91一区二区三| 777午夜精品免费视频| 国产精品久久99| 国产在线精品免费| 91麻豆精品91久久久久久清纯 | 成人av第一页| 精品国精品国产| 奇米777欧美一区二区| 日本精品一区二区三区高清 | 亚洲日本在线观看| 国产91在线观看丝袜| 欧美一级欧美三级在线观看| 亚洲一区二区高清| 成人免费毛片app| 国产日本欧洲亚洲| 国产精品系列在线观看| 欧美sm美女调教| 久久久久88色偷偷免费| 精久久久久久久久久久| 精品久久久久久久久久久院品网 | 欧美精品自拍偷拍| 亚洲成人www| 欧美喷水一区二区| 日韩av电影一区| 色久优优欧美色久优优| 亚洲男人的天堂在线观看| 91同城在线观看| 国产精品久久久久aaaa樱花| av在线播放成人| 亚洲精品自拍动漫在线| 欧美最猛黑人xxxxx猛交| 亚洲女人小视频在线观看| 91国模大尺度私拍在线视频| 欧美丰满嫩嫩电影| 日本伊人色综合网| 日韩欧美一级二级| 国产精品亚洲专一区二区三区| 久久婷婷综合激情| 不卡av电影在线播放| 亚洲综合色噜噜狠狠| 欧美日本在线看| 久久99精品国产.久久久久久| 亚洲精品一区二区三区蜜桃下载| 国产裸体歌舞团一区二区| 国产亚洲成年网址在线观看| 成人免费视频app| 亚洲国产aⅴ成人精品无吗| 制服视频三区第一页精品| 美腿丝袜一区二区三区| 国产欧美日韩视频在线观看| 成人免费毛片app| 亚洲视频在线一区观看| 日韩美女主播在线视频一区二区三区| 国产成人精品综合在线观看| 亚洲三级电影全部在线观看高清| 欧美精品 国产精品| 久久国产精品露脸对白| 亚洲欧洲国产日本综合| 亚洲男同1069视频| 91精品国产综合久久国产大片| 久久成人麻豆午夜电影| 国产精品国产自产拍在线| 337p亚洲精品色噜噜| 国产精品亚洲а∨天堂免在线| 亚洲精品第1页| 欧美国产日韩在线观看| 欧美久久高跟鞋激| 99久久99久久免费精品蜜臀| 亚洲一区中文在线| 国产无人区一区二区三区| 欧美日韩免费不卡视频一区二区三区| 春色校园综合激情亚洲| 久久国产夜色精品鲁鲁99| 亚洲免费观看高清完整版在线观看 | 欧美挠脚心视频网站| 波多野结衣亚洲| 久久午夜色播影院免费高清| 国产精品国产三级国产普通话三级| 在线影院国内精品| 国产成人精品免费一区二区| 奇米精品一区二区三区四区| 亚洲色图第一区| 日本一区二区三区在线不卡| 日韩欧美精品在线| 国产在线精品一区在线观看麻豆| 午夜影院久久久| 一区二区三区电影在线播| 亚洲国产激情av| 亚洲精品一线二线三线无人区| 欧美日韩视频在线第一区 | 日韩免费视频线观看| 91国产精品成人| www.亚洲国产| 色哟哟日韩精品| 97se亚洲国产综合自在线观| 国产馆精品极品| 播五月开心婷婷综合| 成人av影院在线| av一区二区三区在线| 99久久久无码国产精品| 成人av资源下载| 成人黄色av网站在线| 91在线视频播放地址| voyeur盗摄精品| 国产精品一区免费视频| 东方aⅴ免费观看久久av| 国产精品自拍毛片| 韩国一区二区视频| 国v精品久久久网| 懂色av一区二区三区蜜臀| 成人网男人的天堂| 91香蕉国产在线观看软件| 色一区在线观看| 欧美一区二区三区成人| 日韩你懂的在线播放| 精品国免费一区二区三区| 国产精品视频一二三| 国产精品久久久久桃色tv| 亚洲免费观看视频| 日本不卡的三区四区五区| 日韩av在线发布| 黑人巨大精品欧美一区| 91香蕉视频在线| 欧美日本一道本在线视频| 91精品国产色综合久久不卡蜜臀 | 久久精品人人做人人综合| 久久综合九色欧美综合狠狠| 日本道色综合久久| 538在线一区二区精品国产| 日韩精品一区在线| 欧美mv和日韩mv国产网站| 亚洲视频综合在线| 五月综合激情网| 欧美在线影院一区二区| 欧美一区二区在线观看| 久久一区二区三区四区| 亚洲高清一区二区三区| 国产一区二区导航在线播放| 97精品久久久久中文字幕| 6080午夜不卡| 自拍偷拍亚洲综合| 日韩成人一级大片| 国产综合久久久久影院| 欧美久久久久中文字幕| 久久色视频免费观看| 视频在线观看一区| 一本大道久久a久久综合 | 3atv一区二区三区| 一区二区在线观看av| 丁香天五香天堂综合| 日韩精品一区二区三区视频在线观看| 亚洲激情中文1区| 成人一区在线观看| 久久嫩草精品久久久久| 免费在线观看一区| 欧美麻豆精品久久久久久| 亚洲欧美另类图片小说| 不卡的电视剧免费网站有什么| 久久久久久麻豆| 美美哒免费高清在线观看视频一区二区| 在线免费观看日本欧美| 亚洲图片欧美激情| 成人av网站在线观看免费| 久久伊99综合婷婷久久伊| 极品美女销魂一区二区三区| 欧美一区二区三区四区高清| 亚洲成a人片综合在线| 欧美在线播放高清精品| 亚洲综合视频在线观看| 色94色欧美sute亚洲线路一久| 成人免费在线观看入口| 不卡免费追剧大全电视剧网站| 国产精品网站在线播放| 成人一二三区视频| 国产精品视频第一区| 91视频一区二区|