首先在StdAfx.h头文件中加入#import "c:\program files\common files\system\ado\msado15.dll"\

no_namespace rename("EOF","adoEOF")

然后在App类的头文件中声名

public: _ConnectionPtr m_pConnection;//连接对象指针

接着在App类的InitInstance()函数中加入下列代码:

AfxOleInit();//初始化COM

try//连接数据库

{

m_pConnection.CreateInstance(__uuidof(Connection));

_bstr_t strConnect="Provider=MSDAORA.1;User ID='system';Password='renzh';Data Source=orcl;Persist Security Info=False;";

m_pConnection->Open(strConnect,"system","renzh",adModeUnknown);

}

catch(_com_error e)

{

AfxMessageBox(TEXT("数据库连接出错!"));

AfxMessageBox(e.Description());

}

在App类响应EXITINSTANCE的消息中也可以加上:

if (m_pConnection->State)

m_pConnection->Close();

m_pConnection->Release();

我认为也没有这一步的必要(我自己是没有加的)

然后数据库就打开了,在所有的类中都可以这样调用:theApp. m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);

然后在要访问记录集的地方声名一个记录集指针:

CString sql=_T("这里面是执行语句!!"):

_RecordsetPtr pRs("ADODB.RecordSet");

pRs->Open((_bstr_t)sql,_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

if (!(pRs->adoBOF))//如果记录集不空

{

……

}

取出记录集信息可以用pRs-> GetCollect_r(_T("某个属性列名")));它的返回值是_variant_t,根据需要可以对它进行转换。如在ClistCtrl对象的插入中:

m_grd.SetItemText(0,0,(LPTSTR)(_bstr_t)(pRs-> GetCollect_r(_T("第一列的属性名"))));

mfc通过ado链接oracle,MFC通过ADO连接Oracle数据库相关推荐

  1. asp.netcore oracle,Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库...

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

  2. asp连接oracle 服务端,Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库...

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

  3. oracle 连接组件,[2021] node连接oracle数据库示例[使用oracle官方组件]

    [2021] node连接oracle数据库示例[使用oracle官方组件] node 连接 oracle 示例 本示例采用的 oracledb 和 instantclient-basic-windo ...

  4. 【Exception】Navicat连接Oracle闪退 Navicat连接Oracle 报错:connection to server failed,probable Oracle Net admi

    [Exception]Navicat连接Oracle闪退 Navicat连接Oracle 报错:connection to server failed,probable Oracle Net admi ...

  5. mysql和oracle共用服务器_如何用oracle 11g客户端 配置连接服务器数据库?同一台服务器上装MySQL和oracle会有冲突么...

    在上一篇文章中,小编为您详细介绍了关于<模拟飞行10 咋设置多显示器10?>相关知识.本篇中小编将再为您讲解标题如何用oracle 11g客户端 配置连接服务器数据库?同一台服务器上装My ...

  6. 怎样用pb链接oracle数据库,oracle教程之pb连接oracle数据库

    过ODBC或者PowerBuilder自带的DB PRofile或者专用接口连接上数据库,但仍然有许多使用者按此方法却无法连接上数据库,这方面的原因可能是PowerBuilder本身的原因,比如在安装 ...

  7. quicksearch连接oracle,dos命令下连接oracle数据库表

    Oracle表空间文件损坏后的排查及解决 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/zergskj/article/details/6303417 ...

  8. sqlserver往oracle写数据,Sqlserver连接oracle进行读写数据库

    项目中用到sqlserver去连接oracle,通过sqlserver可以直接操作oracle. 1.安装oracle客户端软件,并配置: 1)打开Net Manager,新增服务名: 2)选择网络协 ...

  9. oracle数据库连接时报12514_连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程...

    在用PL/SQL Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图: 发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟 ...

  10. oracle 12514 pl sql,plsql登陆oracle报错!连接Oracle 10g时ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的...

    plsql登陆oracle出错!连接Oracle 10g时ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的. 我添加了 (SID_DESC =  (GLOBAL_DBNAME =  ...

最新文章

  1. JavaWeb中连接数据库的一般方式与通过JNDI连接池的方式
  2. Android程序ToDoList增加配置项页面
  3. 上周热点回顾(10.27-11.2)
  4. Python-使用PyQT生成图形界面
  5. Python网络编程(OSI模型、网络协议、TCP)
  6. stl向量_用户定义大小的C ++ STL中的2D向量
  7. 微信第三方平台定时接收component_verify_ticket
  8. 【图像处理】MATLAB:直方图
  9. 随手笔记:我的架构师之路--沈剑 到家集团技术委员会主席快狗打车CTO
  10. 如果你身边有这样的人,赶紧让他说点什么,然后反过来买彩票
  11. 嵌入式linux寄存器位运算,嵌入式linux C语言(一)――位运算的使用
  12. 【ArcGIS操作】4 空间分析篇
  13. 第三届智能科学国际会议ICIS2018征稿北京大学11月2日-5日召开。附史忠植院士简历(公号发“智能科学国际会议”下载PDF)
  14. android root工具twrp,Android手机-全程解析最新Root通用方法
  15. UE4 蓝图接口 BluePrint Interface
  16. the connected probe appears to be a jlink clone
  17. 用C语言实现求最大公因数和最小公倍数
  18. axios 之 post请求参数格式不正确得问题
  19. 分析方法4---多维度拆解分析
  20. Android解决部分手机拍照照片自动旋转的问题

热门文章

  1. 函授大专计算机专业,函授大专报什么专业好?
  2. 2021年中国地图省市县区边界shp格式arcgis数据(预览图)
  3. html 动态背景css 蜘蛛网背景
  4. 2021年危险化学品经营单位主要负责人考试题及危险化学品经营单位主要负责人多少分及格
  5. mongodb多数据源配置
  6. 最好用的ftp工具,8款超级好用的最好用的ftp工具
  7. 【LAS 】 SRS 开启ATC功能 时间戳测试
  8. {转}我们需要什么样的人生
  9. fanfou.com
  10. 双目视觉焦距_教你如何提高双目立体视觉系统的精度