TaxExpertDoc.cpp
上传用户:szcysw
上传日期:2013-03-11
资源大小:6752k
文件大小:3k
源码类别:

界面编程

开发平台:

Visual C++

  1. // TaxExpertDoc.cpp : implementation of the CTaxExpertDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "TaxExpert.h"
  5. #include "TaxExpertDoc.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CTaxExpertDoc
  13. IMPLEMENT_DYNCREATE(CTaxExpertDoc, CDocument)
  14. BEGIN_MESSAGE_MAP(CTaxExpertDoc, CDocument)
  15. //{{AFX_MSG_MAP(CTaxExpertDoc)
  16. // NOTE - the ClassWizard will add and remove mapping macros here.
  17. //    DO NOT EDIT what you see in these blocks of generated code!
  18. //}}AFX_MSG_MAP
  19. END_MESSAGE_MAP()
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CTaxExpertDoc construction/destruction
  22. CTaxExpertDoc::CTaxExpertDoc()
  23. {
  24. }
  25. CTaxExpertDoc::~CTaxExpertDoc()
  26. {
  27. //关闭数据集
  28. this->m_pSet->Close();
  29. //关闭数据库
  30. this->m_pDB->Close();
  31. }
  32. //在新建文档时同时打开数据库
  33. BOOL CTaxExpertDoc::OnNewDocument()
  34. {
  35. if (!CDocument::OnNewDocument())
  36. return FALSE;
  37. m_pDB = new CDaoDatabase;
  38. m_pSet = new CDaoSF(m_pDB);
  39. ASSERT(m_pDB != NULL);
  40. ASSERT(m_pSet != NULL);
  41. //打开法规库,并进行错误捕获
  42. try
  43. {
  44. m_pDB->Open("taxexpert.dat");
  45. }
  46. catch (CDaoException* e)
  47. {
  48. CString error;
  49. error.Format("税务法规库定位失败!rnrn");
  50. error+="导致该错误的原因可能是以下几方面:rnrn";
  51. error+="1、未安装DAO数据组件,请安装"安装MS-Jet 数据引擎"!rn";
  52. error+="2、税务法规库文件被删除,或者是税务法规库已经被破坏,
  53. 请重新安装"税务师"!rnrn";
  54. error+="如果不能解决此问题,你也可以和zhoumingyang@163.net联系
  55. 以解决此问题。";
  56. delete m_pDB;
  57. e ->Delete();
  58. MessageBox(NULL,error,"打开数据库错",MB_ICONSTOP|MB_OK );
  59. return 0;
  60. }
  61. //进行数据表打开的测试
  62. try
  63. {
  64. m_pSet->Open();
  65. }
  66. catch (CDaoException* e)
  67. {
  68. delete m_pSet;
  69. e ->Delete();
  70. MessageBox(NULL,"税务法规库记录集访问失败n请重新安装本程序",
  71. "访问失败",MB_ICONSTOP|MB_OK );
  72. return 0;
  73. }
  74. return TRUE;
  75. }
  76. /////////////////////////////////////////////////////////////////////////////
  77. // CTaxExpertDoc serialization
  78. void CTaxExpertDoc::Serialize(CArchive& ar)
  79. {
  80. if (ar.IsStoring())
  81. {
  82. // TODO: add storing code here
  83. }
  84. else
  85. {
  86. // TODO: add loading code here
  87. }
  88. }
  89. /////////////////////////////////////////////////////////////////////////////
  90. // CTaxExpertDoc diagnostics
  91. #ifdef _DEBUG
  92. void CTaxExpertDoc::AssertValid() const
  93. {
  94. CDocument::AssertValid();
  95. }
  96. void CTaxExpertDoc::Dump(CDumpContext& dc) const
  97. {
  98. CDocument::Dump(dc);
  99. }
  100. #endif //_DEBUG
  101. /////////////////////////////////////////////////////////////////////////////
  102. // CTaxExpertDoc commands