C++ 通过ADO连接ACCESS数据库时出错

帝国队长 2011-02-25 12:56:05
代码如下
_ConnectionPtr Conn=NULL;
_RecordsetPtr rs=NULL;
AfxOleInit();
CoInitialize(NULL);
Conn.CreateInstance(_uuidof(Connection));
try
{
Conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb","","Database Password=123",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库Song.mdb是否在当前路径下!");
//return FALSE;
}
数据库就在项目目录下,我用的是VS2008,但是我怎么都连不上,数据库有密码机123,是不是要在ACCESS软件中配置了才能打开呀,哪位高手救救我呀!
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
帝国队长 2011-02-25
  • 打赏
  • 举报
回复
高人呀,原来是我那数据库被ACCESS以独占方式打开了,这边就开不了了。结帐给分,谢谢大家了!
Russell2014 2011-02-25
  • 打赏
  • 举报
回复
把出错信息贴出来看看
zyq5945 2011-02-25
  • 打赏
  • 举报
回复
异常捕获改成这样才能看到正确的提示。
try
{
//你的ADO代码
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}

zyq5945 2011-02-25
  • 打赏
  • 举报
回复
帝国队长 2011-02-25
  • 打赏
  • 举报
回复
有密码的连接字符串是我这样写吗?是不是写错了呀,哪位给写个行不行
帝国队长 2011-02-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 deshare 的回复:]
下载网上一个可用的代码比较一下就知道了。

或者说你先尝试连一个无密码的ACCESS数据库。你先调通基本功能再往里面加功能
[/Quote]
我下不下来了,能发我邮箱吗 zrfzle@163.com
deshare 2011-02-25
  • 打赏
  • 举报
回复
下载网上一个可用的代码比较一下就知道了。

或者说你先尝试连一个无密码的ACCESS数据库。你先调通基本功能再往里面加功能
帝国队长 2011-02-25
  • 打赏
  • 举报
回复
还有用户名是什么,我登录ACCESS没看到输入呀,是不是系统的用户名?

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧