DBOperator.h
上传用户:xiaoke98
上传日期:2014-06-29
资源大小:5718k
文件大小:3k
源码类别:

家庭/个人应用

开发平台:

Visual C++

  1. // DBOperator.h: interface for the CDBOperator class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DBOPERATOR_H__30806192_62A2_4BD1_BE1F_144191526725__INCLUDED_)
  5. #define AFX_DBOPERATOR_H__30806192_62A2_4BD1_BE1F_144191526725__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #pragma warning(disable:4129)
  10. // 导入 ado 库 -----------------------------------------------------------
  11. #pragma warning(disable:4146)
  12. #import "C:Program FilesCommon FilesSystemADOmsado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
  13. #pragma warning(default:4146)
  14. using namespace ADODB;  
  15. #include "FinanceDBGrid.h"
  16. class CSysDataStruct  
  17. {
  18. public:
  19. CSysDataStruct();
  20. virtual ~CSysDataStruct();
  21. public:
  22. struct CClassInfo
  23. {
  24. int m_iClassNum;
  25. enum {MAXCLASSNUM = 40};
  26. CString m_Classes[MAXCLASSNUM];
  27. double  m_dTotal[MAXCLASSNUM];
  28. };
  29. };
  30. enum SELECTORDER
  31. {
  32. enDate = 0,
  33. enMoney
  34. };
  35. class CDBOperator  
  36. {
  37. public:
  38. BOOL  ConnectToDB(void);
  39. //与用户登录相关
  40. BOOL VerifyUser(CString& strUser, CString& strPasswd);//检查登录信息是否正确
  41. BOOL addUser(CString strUserName, CString strPassword, char* pImgData, int iDataLen);
  42. BOOL getUserImg(CString strUserName, char** pImageData, int& iDataLen);
  43. //与收入相关
  44. void    selectFinanceIn(CString& strStartTime, CString& strEndTime, CFinanceDBGrid& DBGrid, CString& strTotalIn, SELECTORDER order = enDate);
  45. void    ReOrderFinanceIn(CString& strStartTime, CString& strEndTime, CFinanceDBGrid& DBGrid, CString& strTotalIn, CString& strTitle, CString& strOder);
  46. void    addFinanceIn(CString& strMoney, CString& strClass, 
  47. CString& strDate, CString& strRemark);
  48. int     getClassID(CString& strClass);
  49. void getMoneyInClassInfo(CSysDataStruct::CClassInfo& ClassInfo);
  50. void getInClassInfo(CListCtrl* pdbGrid);
  51. void DeleteFinanceIn(int iID);
  52. void    getMoneyInClassTotal(CString& strStartTime, CString& strEndTime, CSysDataStruct::CClassInfo& ClassInfo);
  53. void    addInClass(CString& strClass);
  54. //与支出相关
  55. void    selectFinanceOut(CString& strStartTime, CString& strEndTime, CFinanceDBGrid& DBGrid, CString& strTotalOut, SELECTORDER order = enDate);
  56. void addFinanceOut(CString& strMoney, CString& strClass, CString& strDate, CString& strRemark);
  57. int     getOutClassID(CString& strClass);
  58. void getMoneyOutClassInfo(CSysDataStruct::CClassInfo& ClassInfo);
  59. void getOutClassInfo(CListCtrl* pdbGrid);
  60. void DeleteFinanceOut(int iID);
  61. void getMoneyOutClassTotal(CString& strStartTime, CString& strEndTime, CSysDataStruct::CClassInfo& ClassInfo);
  62. void    addOutClass(CString& strClass);
  63. void    ReOrderFinanceOut(CString& strStartTime, CString& strEndTime, CFinanceDBGrid& DBGrid, CString& strTotalOut, CString& strTitle, CString& strOder);
  64. //更新收入或支出表
  65. void    UpdateRecord(int iID, CString& strSum, CString& strClass, CString& strDate, CString& strRemark, bool bIsMoneyOut);
  66. //收支平衡表
  67. void getBalance(CString& strStartTime, 
  68. CString& strEndTime, 
  69. CTreeCtrl& treeBalance, 
  70. CString& strTotalIn,
  71. CString& strTotalOut);
  72. public:
  73. CDBOperator();
  74. virtual ~CDBOperator();
  75. private:
  76. //数据库连接变量
  77. _ConnectionPtr  m_DBConnection;
  78. _CommandPtr m_Command;
  79. _RecordsetPtr   m_Recordset; 
  80. CString m_strAppPath;
  81. };
  82. extern CDBOperator gDBOperator;
  83. #endif // !defined(AFX_DBOPERATOR_H__30806192_62A2_4BD1_BE1F_144191526725__INCLUDED_)