CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

VC不用MFC怎样用ADO连接数据库

楼主q4(魔术)2004-04-04 10:29:21 在 VC/MFC / 数据库 提问

怎样初始化ADO对象 问题点数:0、回复次数:5Top

1 楼desrie(leir)回复于 2004-04-04 11:21:37 得分 0

IUnknown,   GUIDTop

2 楼masterz(www.fruitfruit.com)回复于 2004-04-04 12:19:22 得分 0

http://www.fruitfruit.com/vc/atl/ado.cppTop

3 楼rifnxa(把vc學到底)回复于 2004-04-04 12:39:08 得分 0

CoInitialize(NULL);  
        try    
        {  
        _RecordsetPtr       pRs("ADODB.Recordset");  
        _ConnectionPtr     pCn("ADODB.Connection");  
        _variant_t             vtTableName("authors"),  
                                        vtCriteria;  
        long                         ix[1];  
        SAFEARRAY               *pSa   =   NULL;  
   
        pCn->Open("DSN=pubs;User   ID=sa;pwd=;Provider=MSDASQL;",   "",   "",    
                                adConnectUnspecified);  
  //   Note   2,   Note   3  
        pSa   =   SafeArrayCreateVector(VT_VARIANT,   1,   4);  
        if   (!pSa)   _com_issue_error(E_OUTOFMEMORY);  
   
  //   为第三个元素赋值TABLE_NAME(索引值2).    
        ix[0]   =   2;              
        TESTHR(SafeArrayPutElement(pSa,   ix,   &vtTableName));  
   
  //   由于Variant没有SafeArray的构造函数,所以手工设置Variant的数据类型和值。  
        vtCriteria.vt   =   VT_ARRAY   |   VT_VARIANT;  
        vtCriteria.parray   =   pSa;  
   
        pRs   =   pCn->OpenSchema(adSchemaColumns,   vtCriteria,   vtMissing);  
   
        long   limit   =   pRs->GetFields()->Count;  
        for   (long   x   =   0;   x   <   limit;   x++)  
              printf("%d:   %s\n",   x+1,    
                    ((char*)   pRs->GetFields()->Item[x]->Name));  
  //   Note   4  
        pRs->Close();  
        pCn->Close();  
        }  
        catch   (_com_error   &e)  
        {  
        printf("Error:\n");  
        printf("Code   =   %08lx\n",   e.Error());  
        printf("Code   meaning   =   %s\n",   (char*)   e.ErrorMessage());  
        printf("Source   =   %s\n",   (char*)   e.Source());  
        printf("Description   =   %s\n",   (char*)   e.Description());  
        }  
        CoUninitialize();  
   
  Top

4 楼conghonglei(农民工)回复于 2004-04-04 13:41:10 得分 0

看mfc   的ADO代码。Top

5 楼davisyzx(阿祥)回复于 2004-04-04 16:32:12 得分 0

http://www.fruitfruit.com/vc/atl/ado.cpp  
  上的信息很全面,我就是在这上面第一次成功联上SQLSERVER数据库的;Top

相关问题

  • ADO访问数据库(vc)
  • vc++ 用ado连数据库??
  • 请问:除了在mfc中可以用ado方式访问数据库外,还可不可以在vc的sdk中以ado方式访问sql数据库?
  • 如何用vc+mfc+odbc建数据库?
  • VC ADO 访问数据库问题
  • VC中用ADO访问Oracle数据库
  • vc访问sql数据库ado
  • 数据库ado
  • vc&数据库
  • vc++.net的mfc怎么使用ado.net访问数据库?

关键词

  • ado
  • vc
  • pcn
  • vtcriteria
  • psa
  • variant
  • ix
  • vt
  • prs
  • printf

得分解答快速导航

  • 帖主:q4

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo