ADOConn.cpp
上传用户:xz12345
上传日期:2007-09-12
资源大小:7437k
文件大小:2k
源码类别:

数据库编程

开发平台:

Visual C++

  1. // ADOConn.cpp: implementation of the ADOConn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "工资.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. //////////////////////////////////////////////////////////////////////
  12. // Construction/Destruction
  13. //////////////////////////////////////////////////////////////////////
  14. ADOConn::ADOConn()
  15. {
  16. }
  17. ADOConn::~ADOConn()
  18. {
  19. }
  20. void ADOConn::OnInitADOConn()
  21. {
  22. //初始化OLE/COM库环境
  23. //public:
  24. ::CoInitialize(NULL);
  25. try
  26. {
  27. m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
  28. //m_pConnection.CreatInsancet
  29. //_bstr_t strConnect="Provider=SQLOLEDB;Sever=.;DataBase=airchina;uid=sa;pwd=;";
  30. _bstr_t strConnect="Provider=SQLOLEDB;Sever=.;DataBase=salarynew;Integrated Security=SSPI;";
  31. m_pConnection->Open(strConnect,"","",adModeUnknown);
  32. }
  33. catch(_com_error e){
  34. AfxMessageBox(e.Description());
  35. }
  36. }
  37. _RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
  38. {
  39. try
  40. {
  41. //连接数据库
  42. if(m_pConnection==NULL)
  43. OnInitADOConn();
  44. //创建记录集
  45. m_pRecordset.CreateInstance(__uuidof(Recordset));
  46. //取得表中记录
  47. m_pRecordset->Open( bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
  48. }
  49. catch(_com_error e)
  50. {
  51. AfxMessageBox(e.Description());
  52. }
  53. return m_pRecordset;//返回记录集
  54. }
  55. BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
  56. {
  57. _variant_t RecordsAffected;
  58. try
  59. {
  60. if(m_pConnection==NULL)
  61. OnInitADOConn();
  62. m_pConnection->Execute(bstrSQL,0,adCmdText);
  63. return true;
  64. }
  65. catch(_com_error e)
  66. {
  67. AfxMessageBox(e.Description());
  68. return false;
  69. }
  70. }
  71. void ADOConn::ExitConnect()
  72. {
  73. //关闭记录集和链接
  74. if(m_pRecordset!=NULL)
  75. m_pRecordset->Close();
  76. m_pConnection->Close();
  77. ::CoUninitialize();//释放环境
  78. }