📄 dbmanager.h
字号:
// DBManager.h: interface for the CDBManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DBMANAGER_H__E42661C6_FD4D_4240_A22B_E32BEE201C54__INCLUDED_)
#define AFX_DBMANAGER_H__E42661C6_FD4D_4240_A22B_E32BEE201C54__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef CArray<StClientTalkInfo,StClientTalkInfo&> TalkInfoSet;
class CDBManager
{
public:
//构造函数,参数dt指定所使用的数据库类型
CDBManager(DB_Type dt=_Access);
virtual ~CDBManager();
public:
//返回最近出错的信息
CString GetLastError()
{
return m_strErrMsg;
}
//使用参数pConnPar打开数据库,操作成功返回TRUE
//否则返回FALSE,可使用GetLastError()得到错误信息
BOOL Open(StConnPar* pConnPar);
//关闭数据库
void Close();
//使用lpCommandText所指定的select语句获取满足条件的记录,保存到ts中返回
//操作成功返回TRUE,否则返回FALSE,可使用GetLastError()得到错误信息
BOOL GetTalkInformations(TalkInfoSet& ts,LPCTSTR lpCommandText=NULL);
//执行strSQL所指定的SQL语句
//操作成功返回TRUE,否则返回FALSE,可使用GetLastError()得到错误信息
BOOL RunSQLCommand(CString strSQL);
//根据st的内容来添加、修改数据
//st.lID为0:添加数据,否则根据id更新数据
//操作成功返回TRUE,否则返回FALSE,可使用GetLastError()得到错误信息
BOOL UpdateRecord(StClientTalkInfo& st);
//删除id为lID的数据记录
//操作成功返回TRUE,否则返回FALSE,可使用GetLastError()得到错误信息
BOOL DeleteRecord(LONG lID);
protected:
//根据数据库的类型执行实际的连接过程,为内部使用函数
//操作成功返回TRUE,否则返回FALSE,可使用GetLastError()得到错误信息
BOOL _RealConnectAccess(StConnPar* pConnPar);
BOOL _RealConnectMSSQL(StConnPar* pConnPar);
BOOL _RealConnectMYSQL(StConnPar* pConnPar);
BOOL _RealConnectDB2(StConnPar* pConnPar);
BOOL _RealConnectOracle(StConnPar* pConnPar);
//关闭ADO对象
void CloseAdoObjects();
private:
//ADO对象
_ConnectionPtr m_pConnection;
//最近一次错误信息
CString m_strErrMsg;
//数据库类型
DB_Type m_dbType;
};
#endif // !defined(AFX_DBMANAGER_H__E42661C6_FD4D_4240_A22B_E32BEE201C54__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -