www.pudn.com > 111.rar > AdoConnection.h


/****************************************/ 
/*		ADO封装类设计AdoConnection	    */ 
/*设计者:全佳营						*/ 
/*时间:2004.5.9-2004.5.18				*/ 
/*Email:ghostman@tzc.edu.cn				*/ 
/*本ADO封装类是参考网友提供的设计的		*/ 
/****************************************/ 
#pragma once 
 
//导入ADO库 
#pragma warning(disable:4146) 
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF") 
#pragma warning(disable:4146) 
using namespace ADODB;  
 
#include  
class CAdoConnection; 
 
// 数值类型转换函数 
COleDateTime vartodate(const _variant_t& var); 
COleCurrency vartocy(const _variant_t& var); 
bool vartobool(const _variant_t& var); 
BYTE vartoby(const _variant_t& var); 
short vartoi(const _variant_t& var); 
long vartol(const _variant_t& var); 
double vartof(const _variant_t& var); 
CString vartostr(const _variant_t& var); 
 
/*****************************************************************/ 
// CAdoConnection 类 
/*****************************************************************/ 
 
class CAdoConnection 
{ 
public: 
	CAdoConnection(void); 
	~CAdoConnection(void); 
protected: 
	void Release(); 
public: 
	_ConnectionPtr& GetConnection() {return m_pConnection;}; 
 
	CString GetLastErrorText(); 
	ErrorsPtr GetErrors(); 
	ErrorPtr  GetError(long index); 
 
	CString GetConnectionText() {return m_strConnect;} 
 
//连接状态 
	BOOL IsOpen(); 
	long GetState(); 
	 
	ConnectModeEnum GetMode(); 
	BOOL SetMode(ConnectModeEnum mode); 
 
	// 连接时间  
	long GetConnectTimeOut(); 
	BOOL SetConnectTimeOut(long lTime = 5); 
	 
	// 数据源信息 
	_RecordsetPtr OpenSchema(SchemaEnum QueryType); 
 
//连接SQL数据库 
	BOOL Open(LPCTSTR lpszConnect =_T(""), long lOptions = adConnectUnspecified); 
	BOOL ConnectSQLServer(CString dbsrc, CString dbname, CString user, CString pass, long lOptions = adConnectUnspecified); 
	void Close(); 
 
public: 
	// 事务处理 
	long BeginTrans(); 
	BOOL RollbackTrans(); 
	BOOL CommitTrans(); 
 
	// 执行 SQL 语句 
	_RecordsetPtr Execute(LPCTSTR strSQL, long lOptions = adCmdText); 
	BOOL Cancel(); 
 
// 数据 
protected: 
	CString			m_strConnect; 
	CString			errormessage; 
	_ConnectionPtr	m_pConnection; 
};