ImageDBDoc.cpp
上传用户:bst807
上传日期:2022-07-10
资源大小:74k
文件大小:3k
源码类别:

数据库编程

开发平台:

Visual C++

  1. // ImageDBDoc.cpp : implementation of the CImageDBDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "ImageDB.h"
  5. #include "ImageDBDoc.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CImageDBDoc
  13. IMPLEMENT_DYNCREATE(CImageDBDoc, CDocument)
  14. BEGIN_MESSAGE_MAP(CImageDBDoc, CDocument)
  15. //{{AFX_MSG_MAP(CImageDBDoc)
  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. // CImageDBDoc construction/destruction
  22. CImageDBDoc::CImageDBDoc()
  23. {
  24. // TODO: add one-time construction code here
  25. }
  26. CImageDBDoc::~CImageDBDoc()
  27. {
  28. }
  29. BOOL CImageDBDoc::OnNewDocument()
  30. {
  31. if (!CDocument::OnNewDocument())
  32. return FALSE;
  33. // TODO: add reinitialization code here
  34. m_pConnection.CreateInstance(__uuidof(Connection));
  35. m_pConnection->ConnectionString="File Name=image.udl";
  36. m_pConnection->ConnectionTimeout=20;
  37. m_pConnection->Open("","Admin","",adConnectUnspecified);
  38. /*m_pConnection->Execute("insert player values('04','vc++',0x)",NULL,adCmdText);
  39. _variant_t varSQL;
  40. varSQL="select photo from player where pno='04'";
  41. m_pRecordset.CreateInstance(__uuidof(Recordset));
  42. m_pRecordset->Open(varSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
  43. _StreamPtr pStm; 
  44. pStm.CreateInstance("ADODB.Stream");
  45. _variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
  46. long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize;
  47. pStm->PutType(adTypeBinary); 
  48. pStm->Open( varOptional,adModeUnknown,adOpenStreamUnspecified, _bstr_t(), _bstr_t()); 
  49. pStm->LoadFromFile("e:\folder.jpg");//读入文件 
  50. _variant_t varBLOB=pStm->Read(adReadAll); 
  51. m_pRecordset->GetFields()->GetItem("photo")->Value = varBLOB;
  52. m_pRecordset->Update();
  53. m_pRecordset->Close();*/
  54. // (SDI documents will reuse this document)
  55. return TRUE;
  56. }
  57. /////////////////////////////////////////////////////////////////////////////
  58. // CImageDBDoc serialization
  59. void CImageDBDoc::Serialize(CArchive& ar)
  60. {
  61. if (ar.IsStoring())
  62. {
  63. // TODO: add storing code here
  64. }
  65. else
  66. {
  67. // TODO: add loading code here
  68. }
  69. }
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CImageDBDoc diagnostics
  72. #ifdef _DEBUG
  73. void CImageDBDoc::AssertValid() const
  74. {
  75. CDocument::AssertValid();
  76. }
  77. void CImageDBDoc::Dump(CDumpContext& dc) const
  78. {
  79. CDocument::Dump(dc);
  80. }
  81. #endif //_DEBUG
  82. /////////////////////////////////////////////////////////////////////////////
  83. // CImageDBDoc commands