网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
VC++程序员应当如何阅读ADO文档
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
= L"TEST";

      rs->Update(vtMissing, vtMissing);



   // 恢复原名称

      rs->Fields->GetItem((long)2)->PutValue(vtFirstName);

      // -or-

      rs->Fields->GetItem((long)2)->Value = vtFirstName;

      rs->Update(vtMissing, vtMissing);

      rs->Close();

   }

   catch (_com_error &e)

   {

      printf("Description = ''%s''\n", (char*) e.Description());

   }

   ::CoUninitialize();

}



利用(IDispatch *)转换ADO对象的指针类型

1.在一个Variant中显式地封装一个活动的Connection对象,然后用(IDispatch *)进行类型转换确保正确的构造函数被调用。同时明确地设置第二个参数为缺省的true,使该对象的引用计数在Recordset::Open操作完成后仍得到正确的维护。

2.表达式(_bstr_t)不是一个类型转换,而是一个_variant_t的操作符,用以从中提取一个_bstr_t字符串。

表达式(char*)也不是一个类型转换,而是一个_bstr_t的操作符,用以从中提取封装在_bstr_t中的字符串的指针。

下面这些代码演示了_variant_t和_bstr_t的一些常见操作。

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

no_namespace rename("EOF", "EndOfFile")



#include <stdio.h>



void main(void)

{

   CoInitialize(NULL);

   try

   {

      _ConnectionPtr pConn("ADODB.Connection");

      _RecordsetPtr  pRst("ADODB.Recordset");



      pConn->Open("Provider=sqloledb;Data Source=a-tima10;"

         "Initial Catalog=pubs;User Id=sa;Password=;",

         "", "", adConnectUnspecified);

// Note 1

      pRst->Open(

         "authors",

         _variant_t((IDispatch *) pConn, true),

         adOpenStatic,

         adLockReadOnly,

         adCmdTable);

      pRst->MoveLast();

// Note 2

      printf("Last name is ''%s %s''\n",

            (char*) ((_bstr_t) pRst->GetFields()->GetItem("au_fname")->GetValue()),

            (char*) ((_bstr_t) pRst->Fields->Item["au_lname"]->Value));



      pRst->Close();

      pConn->Close();

   }

  

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号