BookAdminDoc.cpp
上传用户:weisheen
上传日期:2022-07-09
资源大小:19390k
文件大小:3k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. // BookAdminDoc.cpp : implementation of the CBookAdminDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "BookAdmin.h"
  5. #include "BookAdminDoc.h"
  6. //添加的头文件
  7. #include <atlbase.h>
  8. #include "../BooksDAL/BooksDAL_i.c"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CBookAdminDoc
  16. IMPLEMENT_DYNCREATE(CBookAdminDoc, CDocument)
  17. BEGIN_MESSAGE_MAP(CBookAdminDoc, CDocument)
  18. //{{AFX_MSG_MAP(CBookAdminDoc)
  19. // NOTE - the ClassWizard will add and remove mapping macros here.
  20. //    DO NOT EDIT what you see in these blocks of generated code!
  21. //}}AFX_MSG_MAP
  22. END_MESSAGE_MAP()
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CBookAdminDoc construction/destruction
  25. CBookAdminDoc::CBookAdminDoc()
  26. {
  27. // TODO: add one-time construction code here
  28. }
  29. CBookAdminDoc::~CBookAdminDoc()
  30. {
  31. }
  32. BOOL CBookAdminDoc::OnNewDocument()
  33. {
  34. if (!CDocument::OnNewDocument())
  35. return FALSE;
  36. // TODO: add reinitialization code here
  37. // (SDI documents will reuse this document)
  38. CComPtr<IDALMyBools> mytools;//组件接口指针
  39. mytools.CoCreateInstance(CLSID_DALMyBools);//生成实例
  40. DTOBook* pAllBooks=NULL;//数据的结构
  41. UINT iSize=0;
  42. //设置连接数据库条件
  43. mytools->put_DataSource(::SysAllocString(L"tarena"));
  44. mytools->put_UID(::SysAllocString(L"scott"));
  45. mytools->put_PWD(::SysAllocString(L"tiger"));
  46. mytools->QueryAllBook(&pAllBooks,&iSize);//查询数据库
  47. for(int i=0;i<iSize;i++)
  48. {
  49. BookEntity* p1=new BookEntity;//
  50. p1->BookIsnb=(pAllBooks+i)->BookIsnb;
  51. p1->BookName=CString((pAllBooks+i)->BookName);
  52. p1->BookAuthor=CString((pAllBooks+i)->BookAuthor);
  53. //CString类型用完要释放掉
  54. ::SysFreeString((pAllBooks+i)->BookName);
  55. ::SysFreeString((pAllBooks+i)->BookAuthor);
  56. this->allBooks.AddTail(p1);
  57. }
  58. //释放栈中的结构体
  59. ::CoTaskMemFree(pAllBooks);
  60. return TRUE;
  61. }
  62. /////////////////////////////////////////////////////////////////////////////
  63. // CBookAdminDoc serialization
  64. void CBookAdminDoc::Serialize(CArchive& ar)
  65. {
  66. if (ar.IsStoring())
  67. {
  68. // TODO: add storing code here
  69. }
  70. else
  71. {
  72. // TODO: add loading code here
  73. }
  74. }
  75. /////////////////////////////////////////////////////////////////////////////
  76. // CBookAdminDoc diagnostics
  77. #ifdef _DEBUG
  78. void CBookAdminDoc::AssertValid() const
  79. {
  80. CDocument::AssertValid();
  81. }
  82. void CBookAdminDoc::Dump(CDumpContext& dc) const
  83. {
  84. CDocument::Dump(dc);
  85. }
  86. #endif //_DEBUG
  87. /////////////////////////////////////////////////////////////////////////////
  88. // CBookAdminDoc commands