标题:[求助]ado访问access数据库
只看楼主
liaopan_77
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-7-26
 问题点数:0 回复次数:2 
[求助]ado访问access数据库

void CTestremotedataDlg::OnConnect()
{

// TODO: Add your control notification handler code here
_ConnectionPtr m_pConnection;
// 初始化COM,创建ADO连接等操作
try
{
HRESULT hr=m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("DSN=test1;"/*数据源名称*/,
"",/*用户*/
"",/*密码*/-1);//连接数据库
if(m_pConnection->State)
{ AfxMessageBox("Connecting is succeed!");}
}
}

catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库Demo.mdb是否在当前路径下!");
}
//连接数据库成功
_RecordsetPtr m_Recordset;
m_Recordset.CreateInstance("ADODB.Recordset");

// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些意想不到的错误。jingzhou xu
try
{
m_Recordset->Open("select*from sheet1", m_Recordset.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText );这个获得记录集对象老是失败
if(m_Recordset->State)
{
AfxMessageBox("Recordset succeed!");//
}
}
catch(_com_error e)
{
AfxMessageBox("Recordset failed!");
}

}

ado 访问access数据库,数据源test1,表格sheet1;
初始化com都在前面的 Initstance()函数中做过了

这个获得记录集对象老是失败,连接数据库都对了成功了,但是获得记录集对象老是失败!


请大家看看怎么回事,在线等!

搜索更多相关主题的帖子: ado 数据库 access 访问 
2006-08-19 12:48
tcdyc
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-15
得分:0 
试试这个

// 使用ADO创建数据库记录集
m_pRecordset.CreateInstance(__uuidof(Recordset));

// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些想不到的错误。jingzhou xu
try
{
m_pRecordset->Open("SELECT * FROM DemoTable", // 查询DemoTable表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
应该解决了!!

2006-09-03 08:36
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
得分:0 
有必要这么长么

烈焰照耀世界,斌凍凍千萬裏
2008-06-20 19:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-84927-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.538777 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved