DataManager.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef _DATAMANAGER_H_
  2. #define _DATAMANAGER_H_
  3. #include "Global.h"
  4. #include "AdoInterface.h"
  5. typedef struct _SContact
  6. {
  7. CString strName;
  8. CString strPhone;
  9. }SContact;
  10. class CDataManager
  11. {
  12. CDataManager();
  13. public:
  14. ~CDataManager();
  15. static CDataManager *GetInstance()
  16. {
  17. static CDataManager Instance;
  18. return &Instance;
  19. }
  20. int StartThread();
  21. int EndofThread();
  22. int Work();
  23. static DWORD WINAPI ThreadFun(LPVOID lpParam);
  24. ThreadSection* ReturnSection(){return &s_critSection;}
  25. BOOL IsThreadRuning(){return m_bThreadRuning;}
  26. public:
  27. int CreateInstance();
  28. int OpenDataBase(const TCHAR* pConnectStr, const TCHAR* pUserID, const TCHAR* pPWD, CString& errMsg);
  29. void CloseDataBase();
  30. int SelectCount(CString& strTableName);
  31. int Select(CArray<CStringArray, CStringArray>& arr, CString& strTableName, std::vector<CString>& vFields, CString strfilter = _T(""), const CString& strSelLineCount = _T(""), CString strSort = _T(""));
  32. int Insert(CString& strTableName, CString& strValues, CString strFields = _T(""));
  33. int Update(CString& strTableName, CString& strValues, CString strfilter = _T(""));
  34. int Delete(CString& strTableName, CString& strFilter);
  35. private:
  36. ThreadSection s_critSection;
  37. //ʵʱÌá½»
  38. HANDLE _hThread; // Ï߳̾ä±ú;
  39. BOOL m_bThreadRuning;
  40. CAdoInterface m_PhoneBookDB;
  41. };
  42. #endif