📄 ado.h
字号:
/*----------------- Ado.h-------------------------------------
简 介:
创建时间: 2005-1-25
创 建 人: 刘永军
电子邮件 : Liuyj128@163.com
应用环境:
历 史:
修改时间:
修 改 人:
修改原因:
使用说明:
【使用说明】:
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_20060115_H)
#define _ANYOU_COOL_ADO_20060115_H
#if _MSC_VER > 1000
#pragma once
#endif
#include <afxdisp.h>
#include <icrsint.h>
//以上两个文件必须包含
// 导入 ado 库 -----------------------------------------------------------
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF","adoEOF"), rename("BOF","adoBOF"), rename("Fields","ADOFields"), rename("Field","ADOField"), rename("Parameter","ADOParameter"), rename("Parameters","ADOParameters")
#pragma warning(default:4146)
//using namespace ADODB;
//以下顺序不能颠倒
class CAdoConnection;
#include "AdoRecordSet.h"
#include "AdoCommand.h"
class CLASS_EXPORT_ENV_ADO_DB XVarConvert
{
public:
XVarConvert();
virtual ~XVarConvert();
public:
// 数值类型转换 -----------------------------------
static COleDateTime vartodate(const _variant_t& var);
static COleCurrency vartocy(const _variant_t& var);
static bool vartobool(const _variant_t& var);
static BYTE vartoby(const _variant_t& var);
static short vartoi(const _variant_t& var);
static long vartol(const _variant_t& var);
static double vartof(const _variant_t& var);
static CString vartostr(const _variant_t& var);
};
class CLASS_EXPORT_ENV_ADO_DB CAdoConnection
{
// 构建/析构 ------------------------------------------
public:
CAdoConnection();
virtual ~CAdoConnection();
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;
};
CLASS_EXPORT_ENV_ADO_DB CAdoConnection * WINAPI Get_DBConnection();
#endif // !defined(_ANYOU_COOL_ADO_20060115_H)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -