#ifndef __ODBC_IMPL_20150930__ #define __ODBC_IMPL_20150930__ #pragma once #include "TblDef.h" #include "DBInterface.h" #include "CritSection.h" #include "Tblversion.h" #include "TblNetShareInfo.h" class CODBCImpl:public DBInterface { public: CODBCImpl(void); ~CODBCImpl(void); static CODBCImpl *GetInstance() { static CODBCImpl Instance; return &Instance; } const BOOL IsOpen(){ return m_bOpen; } public: BOOL m_bOpen; CDatabase *m_pdbInstance; ThreadSection s_critSection; TCHAR m_szConnectString[MAX_PATH]; HANDLE m_hReConnectEvent; HANDLE m_hReConnectThread; int StartThread(); int EndofThread(); static DWORD WINAPI ReConnectDatabaseThread(LPVOID lpPara); BOOL m_bSolve; BOOL SolveDBError(CONST DWORD &dwError,LPCTSTR lpErrorString = NULL); public: BOOL ConnectToDataBase( IN LPCTSTR lpConnString = NULL ); void DisConnectDataBase(); BOOL ExecuteSQL( IN LPCTSTR lpSQL ); INT GetTblRecordCount(IN LPCTSTR lpTblName, IN LPCTSTR lpFilters); BOOL GetVersionInfo( OUT LPVOID lpVerInfo ); BOOL GetNetShareInfo( OUT LPVOID lpNetShareInfo ); }; #endif