为什么用ADO连不上数据库?

dfyang 2005-03-23 11:07:35
代码如下:
_RecordsetPtr m_pSourceSet;
_ConnectionPtr m_pDB;

if(m_pDB==NULL) hr=m_pDB.CreateInstance(__uuidof(Connection));
try
{
if(m_pDB->State)
{
m_pDB->Close();
}
m_pDB->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DataBase.mdb","","",adConnectUnspecified);
}
catch (_com_error &e)
{
CString str;
str.Format("由于以下原因导致数据库无法打开:\n%s",(char*)e.Description());
AfxMessageBox(str, MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}

运行出现由于“以下原因导致数据库无法打开:
(NULL)”
...全文
162 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjg751206 2005-03-23
  • 打赏
  • 举报
回复
用户名和密码不对?
dzq138 2005-03-23
  • 打赏
  • 举报
回复
连接语句这个试试:

Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=DataBase.mdb;Persist Security Info=True
miladuo 2005-03-23
  • 打赏
  • 举报
回复
ding
mousefj 2005-03-23
  • 打赏
  • 举报
回复
Data Source(我的)
Data Source(你的)
中件多一个空格导致
dfyang 2005-03-23
  • 打赏
  • 举报
回复
去掉也不行的
dfyang 2005-03-23
  • 打赏
  • 举报
回复
加上 ::CoInitialize(NULL);后出现了“由于以下原因导致数据库无法打开:找不到可安装的ISAM”
忠向 2005-03-23
  • 打赏
  • 举报
回复
m_pDB->State是不可知状态吧,把这段代码去掉看看:
if(m_pDB->State)
{
m_pDB->Close();
}
south2000 2005-03-23
  • 打赏
  • 举报
回复
把adConnectUnspecified替换
用adModeUnknown
试试

4,011

社区成员

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

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