S3PManipulator.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // S3PManipulator.h: interface for the S3PManipulator class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_S3PMANIPULATOR_H__9DFA310E_2CBD_49EF_8528_93F0FE913FDA__INCLUDED_)
  5. #define AFX_S3PMANIPULATOR_H__9DFA310E_2CBD_49EF_8528_93F0FE913FDA__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "S3PRow.h"
  10. class S3PDBConnection;
  11. class S3PTableDAO;
  12. enum DataMrgContext
  13. {
  14. add,
  15. update,
  16. del
  17. };
  18. class  S3PManipulator  
  19. {
  20. public:
  21. ColumnAndValue m_primaryFields;
  22. S3PManipulator();
  23. virtual ~S3PManipulator();
  24. virtual ColumnAndValue & GetProperties();
  25. virtual int Add(ColumnAndValue & cav);
  26. virtual int Load();
  27. virtual int Load(ColumnAndValue &cav);
  28. virtual int Save();
  29. virtual int Delete();
  30. virtual int ValidateData(ColumnAndValue & cav, DataMrgContext dmc);
  31. virtual int GetLastResult(){ return m_bLastResult;};
  32. protected:
  33. virtual int Init();
  34. virtual S3PDBConnection * GetConn() = 0;
  35. virtual S3PTableDAO * GetTableDAO() = 0;
  36. virtual std::string GetAutoIncrementField() = 0;
  37. virtual std::string GetMandatoryField() = 0;
  38. virtual void Clear();
  39. protected:
  40. BOOL  m_bInit;
  41. S3PDBConnection * m_pConn;
  42. S3PTableDAO*   m_pTableDAO;
  43. public:
  44. ColumnAndValue m_properties;
  45. BOOL  m_bLastResult; //上一次执行指令的结果
  46. };
  47. #endif // !defined(AFX_S3PMANIPULATOR_H__9DFA310E_2CBD_49EF_8528_93F0FE913FDA__INCLUDED_)