hd

DBInterface.h 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*************************************************************************
  2. 【文件名】 DBInterface.h
  3. 【功能模块和目的】 数据库操作接口类头文件
  4. 【开发者及日期】 郑石诺 2015/02/03
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include <afxmt.h>
  11. /*************************************************************************
  12. 【类名】 CDBInterface
  13. 【功能】 封装了ADO操作
  14. 【接口说明】 数据库操作接口类
  15. 【开发者及日期】 郑石诺 2015/02/03
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CDBInterface
  21. {
  22. public:
  23. CDBInterface(void);
  24. ~CDBInterface(void);
  25. bool CloseConn(); //断开现在的连接,重连可调用ConnectDataBase
  26. bool ConnectDataBase( const CString& connStr,CString &ErrMessage ); //建立数据库连接
  27. int GetSingleData(const CString& SQL, const unsigned int nFieldIndx, //执行返回记录集的SQL语句中一个字段值
  28. CString &sValue, CString &ErrMessage);
  29. int GetSingleData(const CString& SQL, const CString strField, //执行返回记录集的SQL语句中一个字段值
  30. CString &sValue, CString &ErrMessage);
  31. bool Init(CString &ErrMessage ); //初始化数据库,并连接
  32. void ReLease(); //释放资源
  33. bool SqlCommand(const CString& SQL, CString &ErrMessage ); //执行不返回记录集的SQL语句
  34. _RecordsetPtr SqlRecordset(const CString& SQL, bool &State, CString &ErrMessage ); //执行返回记录集的SQL语句
  35. private:
  36. BOOL m_bIsStarted; //重连函数执行标识
  37. CString m_ConnectStr; //数据库连接串
  38. _ConnectionPtr m_PConnection; //ADO数据库连接接口指针
  39. _CommandPtr m_PCommand; //ADOSQL语句执行接口指针
  40. CSemaphore * m_pDBSemaphore; //数据库操作同步对象指针
  41. bool ReConnectStart(CString &ErrMessage ); //重新连接数据库
  42. _RecordsetPtr SqlRecordsetNocritical(const CString& SQL, bool &State, CString &ErrMessage );//执行返回记录集的SQL语句
  43. };