C++ Access数据库ADO操作失败,有谁能帮下忙?

#include <stdio.h>
#import "msado15.dll" no_namespace rename("EOF","adoEOF")

int main()
{
::CoInitialize(NULL);
::_ConnectionPtr pConn(__uuidof(Connection));
::_RecordsetPtr pRec(__uuidof(Recordset));
try
{
pConn->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb;Persist Security Info=False";
pConn->Open("","","",NULL);
pRec = pConn->Execute("select ID from student",NULL,adCmdText);
while(!pRec->adoEOF)
{
printf("%s\n",(_bstr_t)(pRec->GetCollect("ID")));
pRec->MoveNext();
}
}
catch(_com_error &e)
{
MessageBox(NULL,e.ErrorMessage()," ",MB_OK);
}
pConn->Close();
pRec->Close();
pConn->Release();
pRec->Release();
::CoUninitialize();

return 0;
}

这只是个测试,代码我也单步调试过,出错语句是Execute的那句

刚接触数据库,懂得不是特别多,请大神们多指点一下

_ConnectionPtr 和_RecordsetPtr使用的时候要创建实例来初始化,比如说:
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(__uuidof(Connection));

建议你去找一个ado的类,去看看(网上有很多人,把这个给封装成了类)。追问

我是按照孙鑫MFC的数据库操作写的,我一直以为CreateInstance是在动态创建数据库的时候用的。。。但是为毛孙鑫的没出问题,我的问题一大堆。。。

追答

他的没出问题,你确实他的没写吗?搞笑吧,兄弟,自己看清楚代码。他一定在什么地方已经调用了。

追问

我跟他的操作步骤是差不多的,就是数据库的服务器不一样而已,而且我用VB测试的时候用自带的组件是没问题的,但是用代码,连接字串就出错了,字串我也是拷贝。代码我是模仿的

温馨提示:内容为网友见解,仅供参考
无其他回答

C++ Access数据库ADO操作失败,有谁能帮下忙?
建议你去找一个ado的类,去看看(网上有很多人,把这个给封装成了类)。

打开access数据库时如何直接进入窗体页面
打开Access数据库(2003)直接进入窗体的设置步骤: 在菜单栏点击,工具①-->启动②-->设置启动窗体③,如图, Access2007的设置方法: 点击数据库左上角的Office按钮-->Access选项-->弹出的对话框左边选择“当前数据库” -->设置显示窗体 本回答由电脑网络分类达人 陆前琳 推荐 3 4 已赞过 已踩过< 你对这个回答...

能帮我找个好Linux 下载地址吗?
在系统切换时需要重新启动机器.VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换.而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便.申请使用序列号:http:\/\/www.vmware.com\/vmwarestore\/newst...

数据库原理设计心得体会
我就开始了对c#学习,任何语言都不是孤立存在,所以数据交互是很重要,暑假时候我把我们这学期课本数据库系统概论看了一遍。我记得以前用c语言编程时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来时候啦,于是我又装上了sql server2000,以前学asp时候用是access,那个时候只是照...

请问在C++ Builder里如何使用ExcelOLEObject。有例子最好。
MessageBox(NULL,"准备将数据库中的数据导出为Excel文件\\n导出时间视您的机器配置情况而异\\n在此期间,你的系统可能会暂时处于无响应状态,请耐心等候\\n单击确定开始导出操作","提示",64+MB_TOPMOST);int i;TDateTime DT;unsigned short Year,Month,Day;AnsiString ntime,nYear,nMonth,nDay,t1,t2;n...

大家帮个忙~什么扩展名都是什么意思~~~
lzh 一种古老的压缩文件,可以使用WinRAR打开 mac Macintosh中使用的一中灰度图形文件格式,在MacintoshPaintbrush中使用,其分辨率只能是720*567 mag 图形文件格式 mdb MicrosoftAccess使用的数据库格式,是非常流行的桌面数据库 men 内存应用文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下 mid 音频压缩文件,曾经非常流行,...

比尔盖茨的微软公司是靠什么赚钱的?详细点好吧?
hahaahahahahahaha 垄断就是他能做出来的其他公司做不出来,或者说没有他做的那么好。个人操作系统方面,暂时没有其他系统能与windows相媲美的,其他软件也是世界最先进的水平,单是office,ms c++,windows media player的推出就已经将竞争对手击到千里之外了,垄断后因为没人跟他竞争,价格就可以自己随便控制了,正版windows...

常用办公软件有哪些?
1、办公常用软件:WPS 可能之前大家都使用的是WORD,不过相对于WORD小编更建议大家使用WPS,因为它是一款办公软件套装,可以实现办公软件最常用的各种功能。2、图片处理软件:PS PS全称PHOTOSHOP,可以帮助我们修复图片以及进行图片制作,对我们工程行业来说主要用于建筑效果图的后期修饰。3、三维建模软件:3DMAX...

谁帮忙解释一下“文本数据库”?
二、说一下我吧 写ctb基本都是在上大学的时候,03年毕业后,可以说对ctb没有进行过改动和维护。首先是工作比较忙,没有了更多的业余时间;其次是写ctb的文本代码编写,就象旅行说的一样,太让人抓狂了,不象sql程序那样,不象桌面程序那样行云流水。毕业后,和16商量过,计划开发mysql的论坛,也由于...

谁介绍一下计算机一级B和二级
1.能运用结构化程序设计方法编写程序。 2.掌握基本数据结构和常用算法。 3.能熟练使用一种高级或一种数据库语言(共有QBASIC、FORTRAN、PASCAL、C以及FOXBASE等五种语言,考生任选其中一种。各种语言的考试内容附后)。 三、上机操作 在指定的时间内使用微机完成下述操作: ...

相似回答