?? ado.h
字號:
/*########################################################################
【文件名】: ado.h
【名 稱】: ADO 封裝類
【作 者】: 成真
---------------------------------------------------------
【創建時間】: 20/1/2003 19:08
【修改時間】: 09/4/2003
---------------------------------------------------------
【版本歷史】:
[0.20] : 封裝了 CAdoCommand 類.
[-15/4/2003-]
[0.11] : 修正了一些 bug.
刪除 oleinit() 函數, 因為覺得不妥。
增加了記錄集存取函數.
[-09/4/2003-]
[0.10] : 主要包括 CAdoConnection 和 CAdoRecordSet 兩個類, 封裝了
對ado的常用的操作方法.
[-20/1/2003-]
---------------------------------------------------------
【使用說明】:
1. 必須在下面指明 msado15.dll 的全路徑, 一般在 "C:\Program Files\
Common Files\System\ADO\" 目錄下.
2. 在使用本類之前必須要初始化 COM 環境, 可以調用 CoInitialize(NULL)
來初始化, 用 CoUninitialize() 釋放;
3. 在使用記錄集對象前必須先調用 CAdoConnection::Open() 連接數據庫,
連接后可給多個 CAdoRecordSet 對象使用, 用完后須關閉數據庫.
4. 使用記錄集執行SQL語句之前, 要使用構建方法或調用 SetAdoConnection()
關聯到連接對象.
5. 在編譯過程中不用理會下面的編譯警告:
warning: unary minus operator applied to unsigned type, result
still unsigned
如果不想此警告出現,可以在 StdAfx.h 文件中加入這樣一行代碼以禁止
此警告: #pragma warning(disable:4146)
########################################################################*/
#if !defined(_ANYOU_COOL_ADO_H)
#define _ANYOU_COOL_ADO_H
#if _MSC_VER > 1000
#pragma once
#endif
// 導入 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(default:4146)
using namespace ADODB;
#include <icrsint.h>
class CAdoConnection;
#include "AdoRecordSet.h"
#include "AdoCommand.h"
// 數值類型轉換 -----------------------------------
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
------------------------------------------------
########################################################################*/
class CAdoConnection
{
// 構建/析構 ------------------------------------------
public:
CAdoConnection();
virtual ~CAdoConnection();
protected:
void Release();
// 屬性 -----------------------------------------------
public:
// 連接對象 ----------------------------------
_ConnectionPtr& GetConnection() {return m_pConnection;};
// 異常信息 ----------------------------------
CString GetLastErrorText();
ErrorsPtr GetErrors();
ErrorPtr GetError(long index);
// 連接字串 ----------------------------------
CString GetConnectionText() {return m_strConnect;}
// 連接信息 ----------------------------------
CString GetProviderName();
CString GetVersion();
CString GetDefaultDatabase();
// 連接狀態 ----------------------------------
BOOL IsOpen();
long GetState();
// 連接模式 ----------------------------------
ConnectModeEnum GetMode();
BOOL SetMode(ConnectModeEnum mode);
// 連接時間 ----------------------------------
long GetConnectTimeOut();
BOOL SetConnectTimeOut(long lTime = 5);
// 數據源信息 -------------------------------
_RecordsetPtr OpenSchema(SchemaEnum QueryType);
// 操作 -----------------------------------------------
public:
// 數據庫連接 --------------------------------
BOOL Open(LPCTSTR lpszConnect =_T(""), long lOptions = adConnectUnspecified);
BOOL ConnectSQLServer(CString dbsrc, CString dbname, CString user, CString pass, long lOptions = adConnectUnspecified);
BOOL ConnectAccess(CString dbpath, CString pass = _T(""), long lOptions = adConnectUnspecified);
BOOL OpenUDLFile(LPCTSTR strFileName, 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;
_ConnectionPtr m_pConnection;
};
#endif // !defined(_ANYOU_COOL_ADO_H)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -