数据库|mysql教程
ADO,访问,Access,数据库,错误,解决,欢迎,进入,
数据库-mysql教程
asp微信网站源码破解,ubuntu文件按钮路径,缺少相应的tomcat版本,浅层网络爬虫,php命名空间和模板引擎,seo岗位待遇lzw
欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入 最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下。 环境 win7 x86系统; VS编译器; Office; Access2000~Access连接串建立数据库连接
网狐棋牌精华版完整源码下载,ubuntu 调用命令,tomcat 7加大内存,宝宝能吃爬虫吗,php的zoom是什么意思,seo日解锁lzw
城市分类信息系统php源码,ubuntu下载断网,什么公司招聘爬虫,php geos,seo名博客lzw
欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入
最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下。
环境
win7 x86系统;
VS编译器;
Office;
Access2000~Access连接串建立数据库连接。
关键数据库操作代码
BOOL CAccessDatabase::Query(const CString strSQLString, UINT nFieldNumber, vector<vector >& vecvecVariant)
{
_variant_t Variant;
vector vecVariant;
EnterCriticaldiv(&m_cs);
_RecordsetPtr pRecordset = NULL;
HRESULT hr = S_FALSE;
try
{
hr = pRecordset.CreateInstance(_T(”ADODB.Recordset”));
if (SUCCEEDED(hr))
{
hr = pRecordset->Open(strSQLString.AllocSysString, m_pConnection.GetInterfacePtr, adOpenDynamic, adLockOptimistic, adCmdText);
if (SUCCEEDED(hr))
{
if (!pRecordset->adoEOF)
{
hr = pRecordset->MoveFirst;
if (SUCCEEDED(hr))
{
while (!(pRecordset->adoEOF))
{
vecVariant.clear;
for (UINT i = 0; i < nFieldNumber; ++i)
{
ZeroMemory(&Variant, sizeof(Variant));
Variant = pRecordset->GetCollect(_variant_t((long)i));
vecVariant.push_back(Variant);
}
vecvecVariant.push_back(vecVariant);
hr = pRecordset->MoveNext;
}
}
else
{
m_pLogFile->WriteLog(GetLastError, _T(”移动记录集指针到首部发生错误”));
if (pRecordset->GetState != adStateClosed)
{
hr = pRecordset->Close;
if (FAILED(hr))
{
m_pLogFile->WriteLog(GetLastError, _T(”关闭记录集失败”));
}
else
{
m_pLogFile->WriteLog(GetLastError, _T(”记录集已关闭”));
}
}
if (pRecordset != NULL)
{
pRecordset.Release;
pRecordset = NULL;
}
LeaveCriticaldiv(&m_cs);
return FALSE;
}
}
else
{
m_pLogFile->WriteLog(GetLastError, _T(”查询的记录集为空”));
}
}
else
{
m_pLogFile->WriteLog(GetLastError, _T(”打开记录集失败”));
if (pRecordset != NULL)
{
pRecordset.Release;
pRecordset = NULL;
}
LeaveCriticaldiv(&m_cs);
return FALSE;
}
}
else
{
m_pLogFile->WriteLog(GetLastError, _T(”初始化记录集失败”));
pRecordset = NULL;
LeaveCriticaldiv(&m_cs);
return FALSE;
}
}
[1] [2]
如果觉得《ADO访问Access数据库错误解决》对你有帮助,请点赞、收藏,并留下你的观点哦!