ADO连接并访问数据库(MSSQL、Oracle、MySQL等)

您所在的位置:网站首页 adonet连接数据库代码 ADO连接并访问数据库(MSSQL、Oracle、MySQL等)

ADO连接并访问数据库(MSSQL、Oracle、MySQL等)

2024-04-06 01:55| 来源: 网络整理| 查看: 265

1.引入msado.dll动态库

添加以下代码到*.cpp文件或者添加到*.h头文件(该头文件要被*.cpp文件引用),编译一次,自动生成msado15.tlh和msado15.tli文件

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

2.建立数据库交互类(使用面向过程编程可以将函数独立出来,类的私有成员可以设置成全局变量)

class CONN_DB { public: void OnInitADOConn();//连接数据库 _RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);//执行查询,返回记录集 BOOL ExecuteSQL(_bstr_t bstrSQL);//执行SQL语句,不更新数据集的内容 void ExitConnect();//断开连接 void Check(); private: _ConnectionPtr m_pConnection;//数据库连接指针,指向数据库 _RecordsetPtr m_pRecordset;//记录集,返回查询结果 };

3.连接数据库函数(代码以MSSQL为例,其他数据连接连接字符串上有差异)

void CONN_DB::OnInitADOConn() { ::CoInitialize(NULL);//初始化OLE/COM库环境 try { m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象 _bstr_t strConnect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Souese=.";//连接字符串 m_pConnection->Open(strConnect, "", "", adModeUnknown);//打开本地数据库 } catch (_com_error e) { std::cout CursorLocation = adUseClient;//与客户端游标有关,否则无法返回记录条数

3.操作数据库(查询)并返回结果

_RecordsetPtr& CONN_DB::GetRecordSet(_bstr_t bstrSQL) { try { if (m_pConnection == NULL) OnInitADOConn(); m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集 m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);//使用adOpenStatic,可以调用记录集指针的函数返回记录个数 } catch (_com_error e) { std::cout State == adStateOpen) std::cout


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3