/************************************************************************* 【文件名】 DBInterface.h 【功能模块和目的】 数据库操作接口类头文件 【开发者及日期】 郑石诺 2015/02/03 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #include /************************************************************************* 【类名】 CDBInterface 【功能】 封装了ADO操作 【接口说明】 数据库操作接口类 【开发者及日期】 郑石诺 2015/02/03 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CDBInterface { public: CDBInterface(void); ~CDBInterface(void); bool CloseConn(); //断开现在的连接,重连可调用ConnectDataBase bool ConnectDataBase( const CString& connStr,CString &ErrMessage ); //建立数据库连接 int GetSingleData(const CString& SQL, const unsigned int nFieldIndx, //执行返回记录集的SQL语句中一个字段值 CString &sValue, CString &ErrMessage); int GetSingleData(const CString& SQL, const CString strField, //执行返回记录集的SQL语句中一个字段值 CString &sValue, CString &ErrMessage); bool Init(CString &ErrMessage ); //初始化数据库,并连接 void ReLease(); //释放资源 bool SqlCommand(const CString& SQL, CString &ErrMessage ); //执行不返回记录集的SQL语句 _RecordsetPtr SqlRecordset(const CString& SQL, bool &State, CString &ErrMessage ); //执行返回记录集的SQL语句 private: BOOL m_bIsStarted; //重连函数执行标识 CString m_ConnectStr; //数据库连接串 _ConnectionPtr m_PConnection; //ADO数据库连接接口指针 _CommandPtr m_PCommand; //ADOSQL语句执行接口指针 CSemaphore * m_pDBSemaphore; //数据库操作同步对象指针 bool ReConnectStart(CString &ErrMessage ); //重新连接数据库 _RecordsetPtr SqlRecordsetNocritical(const CString& SQL, bool &State, CString &ErrMessage );//执行返回记录集的SQL语句 };