注册 | 登录
收藏 | 帮助
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> VC >> 文章正文
vc++中调用ADO的常用方法
作者:xinsir  来源:CSDN  点击:  更新:2006-12-19

VC++中调用ADO的常用方法

概述

 

对于在WINDOWS上编写数据库程序的程序员来说,ActiveX Data Objects (ADO) 是最常使用的技术了,通过ADO可以简单的实现数据库的连接以及数据访问。但是在VC++中使用ADO时,却因为是使用COM的方式来调用,常常出现一些系统无法编译通过,或使用中程序非法出错的问题,在这里想大概介绍一下VC++中调用ADO的常用方法。

 

1、 用import导入ADO 的 COM 文件msado15.dll

例如:

#import "C:\Program Files\Common Files\System\ADO\msado15.dll"\

    no_namespace

 

2、COM 使用时初始化

   HRESULT ComInit()

   {       

              HRESULT hr = S_OK;    // 默认返回值

              if FAILED(CoInitialize(NULL)) // COM 初始化调用

              {

                            CoUninitialize();

                            hr = E_UNEXPECTED;

              }

              return hr;

   }

 

3、建立数据库连接

HRESULT ConnectToDB( LPSTR pUserId ,                        // 用户名

LPSTR pConnString, // 连接字串

LPSTR pUserPassword , // 用户密码

ConnectOptionEnum ConnectOption) //  连接参数

{

        HRESULT hr = S_OK;        // 默认返回值

        _ConnectionPtr  ptrConn; // 定义Connection对象

        try

        {

 

          // 创建一个连接实体

   hr = ptrConn.CreateInstance(__uuidof(Connection));

          // 设定连接等待的最大秒数,默认是15秒

          ptrConn->ConnectionTimeout = 20

          // 打开连接

   hr = ptrConn->Open(pConnString, 

                   pUserId,

                   pUserPassword,

                   ConnectOption);

          return hr;

        }

        catch(_com_error &pComError)

        {

                …… // 错误处理

                return E_UNEXPECTED;

        }

}

 

4.执行一个SQL 查询,得到数据集(recordset)

_RecordsetPtr GetRecordSet(LPSTR strSql, _ConnectionPtr  ptrConn)

{

        try

        {

                RecordsetPtr ptrRS; // recordset 对象

                //  创建recordset 对象实体

ptrRS.CreateInstance(__uuidof(Recordset));

ptrRS->Open( strSql,

                       ptrConn.GetInterfacePtr(),

                       adOpenForwardOnly,

                       adLockUnspecified,

                       adCmdText);

                            或者

         &nbs

[1] [2] [3] 下一页



  • 上一篇文章:
  • 下一篇文章: 没有了
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句

    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分

    本频道近期热评文章:
    热门文章  
    推荐文章  
    相关文章    
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务