在MFC中使用ADO连接ACCESS数据库
m_pConnection.CreateInstance(__uuidof(Connection));//连接数据库ACCESS2007,access2000为Micro...
m_pConnection.CreateInstance(__uuidof(Connection)); //连接数据库ACCESS2007,access2000为Microsoft.Jet.OLEDB.4.0;
try
{
m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ImageRetrieval.accdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败!");
}
m_pRecordset.CreateInstance(__uuidof(Recordset));
}
运行时总是提示连接数据库失败(这个数据库放在工程文件夹里了,也试过把数据库文件放进debug文件夹里,都没用),但是如果把工程--->设置--->调试里的exe路径前的debug去掉就不会提示连接数据库失败了,但是那样又无法设置断点调试了,请问下这个该怎么解决。。。谢谢大家。。。 展开
try
{
m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ImageRetrieval.accdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败!");
}
m_pRecordset.CreateInstance(__uuidof(Recordset));
}
运行时总是提示连接数据库失败(这个数据库放在工程文件夹里了,也试过把数据库文件放进debug文件夹里,都没用),但是如果把工程--->设置--->调试里的exe路径前的debug去掉就不会提示连接数据库失败了,但是那样又无法设置断点调试了,请问下这个该怎么解决。。。谢谢大家。。。 展开
1个回答
展开全部
在StdAfx.h中导入ADO动态链接库
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \
rename("EOF","adoEOF")rename("BOF","adoBOF")
是不是没有初始化COM啊?
if (CoInitialize(NULL)!=0)
{
AfxMessageBox("初始化COM支持库失败!");
exit(1);
}
try
{
m_pConn.CreateInstance("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=***.mdb","","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
}
m_pRs.CreateInstance(__uuidof(Recordset));
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \
rename("EOF","adoEOF")rename("BOF","adoBOF")
是不是没有初始化COM啊?
if (CoInitialize(NULL)!=0)
{
AfxMessageBox("初始化COM支持库失败!");
exit(1);
}
try
{
m_pConn.CreateInstance("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=***.mdb","","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
}
m_pRs.CreateInstance(__uuidof(Recordset));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询