ADOConn.cpp
上传用户:hahaxixi
上传日期:2022-04-15
资源大小:1939k
文件大小:2k
源码类别:

手机短信编程

开发平台:

Visual C++

  1. // ADOConn.cpp: implementation of the ADOConn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "NoteManage.h"
  6. #include "ADOConn.h"
  7. #ifdef _DEBUG
  8. #undef THIS_FILE
  9. static char THIS_FILE[]=__FILE__;
  10. #define new DEBUG_NEW
  11. #endif
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15. ADOConn::ADOConn()
  16. {
  17. }
  18. ADOConn::~ADOConn()
  19. {
  20. }
  21. void ADOConn::OnInitADOConn()
  22. {
  23. //初始化OLE/COM库环境
  24.     ::CoInitialize(NULL);
  25. try
  26. {
  27. //创建connection对象
  28. m_pConnection.CreateInstance("ADODB.Connection");    
  29. //设置连接字符串
  30. _bstr_t strConnect="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=shujuku.mdb;";
  31. //SERVER和UID,PWD的设置根据实际情况来设置
  32. m_pConnection->Open(strConnect,"","",adModeUnknown);
  33. }
  34. //捕捉异常
  35. catch(_com_error e)
  36. {
  37. //显示错误信息
  38. AfxMessageBox(e.Description());
  39. }
  40. }
  41. void ADOConn::ExitConnect()
  42. {
  43. //关闭记录集和连接
  44.     if(m_pRecordset!=NULL)
  45. m_pRecordset->Close();
  46. m_pConnection->Close();
  47. //释放环境
  48. ::CoUninitialize();
  49. }
  50. _RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
  51. {
  52.     try
  53. {
  54. if(m_pConnection==NULL)
  55.               OnInitADOConn();
  56. m_pRecordset.CreateInstance(__uuidof(Recordset));
  57.         m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
  58. }
  59.     catch(_com_error e)
  60. {
  61. e.Description();
  62. }
  63. return m_pRecordset;
  64. }
  65. BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
  66. {
  67. try
  68. {
  69. //是否已连接数据库
  70.         if(m_pConnection==NULL)
  71.       OnInitADOConn();
  72. m_pConnection->Execute(bstrSQL,NULL,adCmdText);
  73. return true;
  74. }
  75. catch(_com_error e)
  76. {
  77. e.Description();
  78. return false;
  79. }
  80. }