dbmgr.h
上传用户:tt_chan
上传日期:2009-12-03
资源大小:4523k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. /*
  2. Date:
  3. 2002/03/06 (Last Updated: 2002/03/08)
  4. */
  5. #pragma once
  6. #include "_orzEx/database.h"
  7. #include "_orzEx/syncobj.h"
  8. #include "_orzEx/list.h"
  9. class CDBManager : public CIntLock
  10. {
  11. public:
  12. CDatabase m_dbMain;
  13. CConnection *m_pConn;
  14. void (*m_pfnLog)( LPTSTR pMsg );
  15. public:
  16. CDBManager();
  17. ~CDBManager();
  18. bool Init( void (*pfnLog)( LPTSTR pMsg ), char *pDSN, char *pID, char *pPassword );
  19. CRecordset * CreateRecordset();
  20. void DestroyRecordset( CRecordset *pRec );
  21. protected:
  22. static void __cbDBMsg( char *pState, int nNativeCode, char *pDesc );
  23. };
  24. CDBManager * GetDBManager();
  25. // 孽府巩捞 呈公 汗棱且 锭 荤侩茄促.
  26. // 林狼: 弥措 滚欺农扁=4096
  27. class CQueryManager
  28. {
  29. protected:
  30. struct ITEM
  31. {
  32. char szName[256];
  33. char szValue[256];
  34. bool bString;
  35. };
  36. char m_szQuery[4096];
  37. char m_szTable[256];
  38. char m_szCondition[1024];
  39. CList< ITEM > m_listItem;
  40. public:
  41. CQueryManager();
  42. virtual ~CQueryManager();
  43. void StartUpdateQuery( char *pTable, char *pCondition );
  44. char *GetUpdateQuery();
  45. void StartInsertQuery( char *pTable );
  46. char *GetInsertQuery();
  47. void InsertItem( char *pName, char  *pValue, int  nValueLen, bool bString = true );
  48. void InsertItem( char *pName, char  *pValue, bool bString = true );
  49. void InsertItem( char *pName, TCHAR *pValue, bool bString = true );
  50. void InsertItem( char *pName, int    nValue, bool bString = false );
  51. void InsertItem( char *pName, BYTE   pValue );
  52. };