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

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. // DALMyBools.cpp : Implementation of CDALMyBools
  2. #include "stdafx.h"
  3. #include "BooksDAL.h"
  4. #include "DALMyBools.h"
  5. /////////////////////////////////////////////////////////////////////////////
  6. // CDALMyBools
  7. STDMETHODIMP CDALMyBools::InterfaceSupportsErrorInfo(REFIID riid)
  8. {
  9. static const IID* arr[] = 
  10. {
  11. &IID_IDALMyBools
  12. };
  13. for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++)
  14. {
  15. if (InlineIsEqualGUID(*arr[i],riid))
  16. return S_OK;
  17. }
  18. return S_FALSE;
  19. }
  20. STDMETHODIMP CDALMyBools::GetBookByIsbn(UINT bookisbn, DTOBook **mybook)
  21. {
  22. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  23. // TODO: Add your implementation code here
  24. _ConnectionPtr conn=this->GetMyConn();
  25. return S_OK;
  26. }
  27. STDMETHODIMP CDALMyBools::QueryAllBook(DTOBook **allBook)
  28. {
  29. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  30. // TODO: Add your implementation code here
  31. return S_OK;
  32. }
  33. STDMETHODIMP CDALMyBools::SaveBook(DTOBook *bookdata, UINT *pResult)
  34. {
  35. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  36. // TODO: Add your implementation code here
  37. return S_OK;
  38. }
  39. STDMETHODIMP CDALMyBools::DeleteBookById(UINT id, UINT *iResult)
  40. {
  41. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  42. // TODO: Add your implementation code here
  43. return S_OK;
  44. }
  45. STDMETHODIMP CDALMyBools::Update(DTOBook *Book, UINT *iResult)
  46. {
  47. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  48. // TODO: Add your implementation code here
  49. return S_OK;
  50. }
  51. STDMETHODIMP CDALMyBools::get_UID(BSTR *pVal)
  52. {
  53. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  54. // TODO: Add your implementation code here
  55. return S_OK;
  56. }
  57. STDMETHODIMP CDALMyBools::put_UID(BSTR newVal)
  58. {
  59. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  60. // TODO: Add your implementation code here
  61. this->m_UID=CString(newVal);
  62. ::SysFreeString(newVal);
  63. return S_OK;
  64. }
  65. STDMETHODIMP CDALMyBools::get_PWD(BSTR *pVal)
  66. {
  67. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  68. // TODO: Add your implementation code here
  69. return S_OK;
  70. }
  71. STDMETHODIMP CDALMyBools::put_PWD(BSTR newVal)
  72. {
  73. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  74. // TODO: Add your implementation code here
  75. this->m_PWD=CString(newVal);
  76. ::SysFreeString(newVal);
  77. return S_OK;
  78. }
  79. STDMETHODIMP CDALMyBools::get_DataSource(BSTR *pVal)
  80. {
  81. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  82. // TODO: Add your implementation code here
  83. return S_OK;
  84. }
  85. STDMETHODIMP CDALMyBools::put_DataSource(BSTR newVal)
  86. {
  87. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  88. // TODO: Add your implementation code here
  89. this->m_DataSource=CString(newVal);
  90. ::SysFreeString(newVal);
  91. return S_OK;
  92. }
  93. _ConnectionPtr CDALMyBools::GetMyConn()
  94. {
  95. CString strFormat="Provider=OraOLEDB.Oracle.1;User Id=%s;Data Source=%s";
  96. CString str;
  97. str.Format(strFormat,this->m_UID,this->m_DataSource);
  98. _ConnectionPtr mytools;
  99. mytools.CreateInstance(__uuidof(Connection));
  100. mytools->Open(_bstr_t(str),"",_bstr_t(this->m_PWD),-1);
  101. return mytools;
  102. }