ado-m_pRecordset和Execute的一些问题

问题描述

m_pRecordset和Execute的一些问题
::_RecordsetPtr &GetRecordSet(_bstr_t bstrSQL)
    {
        try
        {
            //连接数据库,如果connection对象为空,则重新连接数据库
            if(m_pConnection==NULL)
            {
                OnInitADOConn();
                //创建记录集对象
                m_pRecordset.CreateInstance(_uuidof(Recordset));;
                m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),
            adOpenDynamic,
            adLockOptimistic,
            adCmdText);
            }
        }
        catch(_com_error e)
        {
            cout<<e.ErrorMessage()<<endl;
        }
        return m_pRecordset;
    }
    //执行sql语句,更新数据库
    bool ExecuteSQL(_bstr_t bstrSQL)
    {
        try
        {
            if(m_pConnection==NULL)
            {
                OnInitADOConn();
                m_pConnection->Execute(bstrSQL,NULL,adCmdText);
                return true;
            }
        }
        catch(_com_error e)
        {
            cout<<e.ErrorMessage()<<endl;
            return false;
        }
    }

为什么调用完GetRecordSet这个函数之后调用ExecuteSQL返回值以为false

解决方案

那就是执行出错了呗。。。。

时间: 2024-10-03 10:16:04

ado-m_pRecordset和Execute的一些问题的相关文章

直接通过ADO操作Access数据库

我在"直接通过ODBC读.写Excel表格文件"和"直接通过DAO读.写Access文件",先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法.ADO(Active Data Object,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLE DB(对象连接和镶入的数据库)为基础,经过OLE DB精心包装后的数据库访问技术,利用它可以快速的创建数据库应

Visual C++ ADO数据库编程入门(上)

ado|c++|visual|编程|数据|数据库   ADO 是目前在Windows环境中比较流行的客户端数据库编程技术.ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源.分布式的数据处理等等)和极其简单.易用的编程接口,因而得到了广泛的应用.而且按微软公司的意图,OLE DB和ADO将逐步取代 ODBC和DAO.现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度,简要探讨一下在VC++中使用ADO编程时的一些问题.我

关于存储过程的ADO调用的一些心得(输出参数,返回值)

ado|存储过程|心得 在一个项目中,我需要用到存储过程来访问数据,为了提供一个比较一致的接口以便调用,我没有使用CreateParameter(),而是调用CommandPtr的Refresh()函数先从数据库中查询参数._ConnectionPtr m_pConn;m_pConn.CreateInstance(__uuidof(Connection));m_pConn->Open("driver={SQL Server};server=127.0.0.1;DATABASE=pub;UI

VC++ ADO编程入门简介

一.ADO简介    ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API.DAO.RDO都要容易使用,并不失灵活性.本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出示例代码.    本文示例代码     二.基本流程    万事开头难,任何一种新技术对于初学者

【转】VC++ ADO编程入门简介

VC++ ADO编程入门简介  一.ADO简介    ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API.DAO.RDO都要容易使用,并不失灵活性.本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出示例代码.    本文示例代码     二.基本流程    万事

为 ADO 程序员设计的 ADO.NET (2)

ado|程序|程序员|设计 转换现有代码有许多 ASP 页面使用 ADO 对象来抽取数据.让我们来讨论几种典型的情况,您在不久的将来移植和改编代码时可能会遇上这些情形.如果您有从单个记录集生成报表的 ASP 页面,DataReader 对象将是您最好的伙伴.您浏览 DataReader 对象时,它会将结果输出到页面. String strConn, strCmd; strConn = "DATABASE=MyAgenda;SERVER=localhost;UID=sa;PWD=;";

使用ADO封装类的数据库程序开发实例(下)

五.开始编写ADO应用程序. 使用ADO之前,我们另外还需要添加下面的语句,如此把ADO的库引入到工程中 . #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 根据机器安装时候的设置不同具体的路径可能不一样. 另外编译的时候会出现如下的警告信息: msado15.tlh(405) : warning

DAM 简单跨数据库ADO.NET组件

它的特点: 在您保证SQL语句兼容的前提下,透过它来访问数据库时,在不需要改变DAL层一点代码的前提下,只要修改一下配置文件,它便可以为你跨不同类型的数据库. 让你的DAL层代码更见简练.它会根据配置文件配置的连接信息,自动为你创建数据库连接,执行操作.关闭连接,释放连接等. 让DAL层的不同模块访问不同类型或不同数据库更加方便. 不错的执行效率,它基于原生ADO.NET.只会反射一次访问不同数据库的ADO提供者的程序集(DAM最终都是通过这些提供者来实现访问不同类型数据库的). 它的配置: 复

Visual C++ ADO数据库编程入门(下)

ado|c++|visual|编程|数据|数据库  10.邦定数据 定义一个绑定类,将其成员变量绑定到一个指定的记录集,以方便于访问记录集的字段值. (1). 从CADORecordBinding派生出一个类: class CCustomRs : public CADORecordBinding{BEGIN_ADO_BINDING(CCustomRs)ADO_VARIABLE_LENGTH_ENTRY2(3, adVarChar, m_szau_fname, sizeof(m_szau_fnam