ADO的记录集中清空其中内容的一个错误 (在线等待)
这个记录集中有一些记录,我想当第二次使用这个记录集的时候,把
记录集给清空.
我使用了Delete函数,在网上也找了一下
Delete 方法:
BOOL CAdoRecordSet::Delete(AffectEnum AffectRecords)
Params: AffectRecords: AffectEnum 值, 确定 Delete 方法所影响的记录数目, 该值可以是下列常量之一.
[常量] [说明 ]
AdAffectCurrent 默认 仅删除当前记录.
AdAffectGroup 删除满足当前 Filter 属性设置的记录. 要使用该选项, 必须将 Filter 属性设置为有效的预定义常量之一.
adAffectAll 删除所有记录.
adAffectAllChapters 删除所有子集记录.
我使用这个删除所有的记录集的时候,老是出异常.
我把这个异常捕捉了.说一个"在此环境不允许操作"
你们有没有遇到过这样的问题.
void ClearADORecordset(_RecordsetPtr &p)
{
try{
p->Delete(adAffectAll);
}
catch (_com_error &e) {
IErrorInfo* pErrorInfo = e.ErrorInfo();
HRESULT hr = e.Error();
if (pErrorInfo)
{
BSTR bsDesc = NULL;
pErrorInfo->GetDescription( &bsDesc );
_bstr_t sDesc( bsDesc, false );
::MessageBox(0, sDesc.operator LPCTSTR(), "", MB_OK );
pErrorInfo->Release();
}
}
}