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 课程信息"),问题上写错了,程序中没写错 展开
通过theApp.m_pRecordset->Open((_bstr_t)("select * from 课程息"),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);时,
提示在对应所需名称或序数集合中,未找到项目。数据库截图如下:
theApp.m_pRecordset->Open((_bstr_t)("select * from 课程信息"),问题上写错了,程序中没写错 展开
1个回答
展开全部
没有把全部代码贴上来,查找问题比较困难,参考一下我的程序吧
_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;
}
_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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询