ADOCONN.CPP
上传用户:ghostdhl
上传日期:2018-06-14
资源大小:9728k
文件大小:2k
源码类别:

数据库编程

开发平台:

Visual C++

  1. // ADOConn.cpp: implementation of the ADOConn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "GZGLXT.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. ::CoInitialize(NULL);
  24. try
  25. {
  26.        m_pConnection.CreateInstance("ADODB.Connection");
  27.    _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=GZFFXT;Data Source=.";
  28.    m_pConnection->Open(strConnect,"","",adModeUnknown);
  29. }
  30. catch(_com_error e)
  31. {
  32. AfxMessageBox(e.Description());
  33. }
  34. }
  35. _RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
  36. {
  37.     try
  38. {
  39. if(m_pConnection==NULL)
  40.               OnInitADOConn();
  41. m_pRecordset.CreateInstance(__uuidof(Recordset));
  42.         m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
  43. }
  44.     catch(_com_error e)
  45. {
  46. e.Description();
  47. }
  48. return m_pRecordset;
  49. }
  50. BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
  51. {
  52. _variant_t RecordsAffected;
  53. try
  54. {
  55.         if(m_pConnection==NULL)
  56.       OnInitADOConn();
  57.         m_pConnection->Execute(bstrSQL,NULL,adCmdText);
  58. return true;
  59. }
  60. catch(_com_error e)
  61. {
  62. e.Description();
  63. return false;
  64. }
  65. }
  66. void ADOConn::ExitConnect()
  67. {
  68.     if(m_pRecordset!=NULL)
  69. m_pRecordset->Close();
  70. m_pConnection->Close();
  71. ::CoUninitialize();
  72. }