ODBCImpl.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef __ODBC_IMPL_20150930__
  2. #define __ODBC_IMPL_20150930__
  3. #pragma once
  4. #include "TblDef.h"
  5. #include "DBInterface.h"
  6. #include "CritSection.h"
  7. #include "Tblversion.h"
  8. #include "TblNetShareInfo.h"
  9. class CODBCImpl:public DBInterface
  10. {
  11. public:
  12. CODBCImpl(void);
  13. ~CODBCImpl(void);
  14. static CODBCImpl *GetInstance()
  15. {
  16. static CODBCImpl Instance;
  17. return &Instance;
  18. }
  19. const BOOL IsOpen(){
  20. return m_bOpen;
  21. }
  22. public:
  23. BOOL m_bOpen;
  24. CDatabase *m_pdbInstance;
  25. ThreadSection s_critSection;
  26. TCHAR m_szConnectString[MAX_PATH];
  27. HANDLE m_hReConnectEvent;
  28. HANDLE m_hReConnectThread;
  29. int StartThread();
  30. int EndofThread();
  31. static DWORD WINAPI ReConnectDatabaseThread(LPVOID lpPara);
  32. BOOL m_bSolve;
  33. BOOL SolveDBError(CONST DWORD &dwError,LPCTSTR lpErrorString = NULL);
  34. public:
  35. BOOL ConnectToDataBase( IN LPCTSTR lpConnString = NULL );
  36. void DisConnectDataBase();
  37. BOOL ExecuteSQL( IN LPCTSTR lpSQL );
  38. INT GetTblRecordCount(IN LPCTSTR lpTblName, IN LPCTSTR lpFilters);
  39. BOOL GetVersionInfo( OUT LPVOID lpVerInfo );
  40. BOOL GetNetShareInfo( OUT LPVOID lpNetShareInfo );
  41. };
  42. #endif