MFC采用ado方式连接Access数据库时,读出数据问题。

在theapp中申请了一个_ConnectionPtrm_pConnection;_RecordsetPtrm_pRecordset;每次都用m_pRecordset打开... 在theapp中申请了一个_ConnectionPtr m_pConnection;_RecordsetPtr m_pRecordset;每次都用m_pRecordset打开数据表获取记录集,操作结束后,关闭记录集。
通过theApp.m_pRecordset->Open((_bstr_t)("select * from 课程息"),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);时,
提示在对应所需名称或序数集合中,未找到项目。数据库截图如下:
theApp.m_pRecordset->Open((_bstr_t)("select * from 课程信息"),问题上写错了,程序中没写错
展开
 我来答
murraychi
2013-09-24 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:113万
展开全部
没有把全部代码贴上来,查找问题比较困难,参考一下我的程序吧

_ConnectionPtr m_pConnection;
_CommandPtr m_pCommand;
_RecordsetPtr m_pRecordset;
CString TSql;
_variant_t var;
CString strName,strAge;
m_pConnection.CreateInstance(__uuidof(Connection));
try
{ // 打开本地Access库Demo.mdb
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Db1.mdb;User ID=Admin;Jet OLEDB:Database Password=","", "", adModeUnknown);
}
catch(_com_error e)
{
ErrorReport("数据库连接失败,确认Db1.mdb是否在当前路径下!");
// dlg->WriteLog( e.Description() );
return 1;
}
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的记录
//读取配置信息
try
{
m_pRecordset->Open("select * from SystemCnfgInfo",
m_pConnection.GetInterfacePtr(),
adOpenStatic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
ErrorReport(e->ErrorMessage());
return 1;
}
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
ErrorReport("表内数据为空");
}
// 基本参数读取
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("LocalIP");
if(var.vt != VT_NULL)
LocalIP = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("LocalPort");
if(var.vt != VT_NULL)
LocalPort = var.intVal;

m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
ErrorReport(e->ErrorMessage());
return 1;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式