这个记录集中有一些记录,我想当第二次使用这个记录集的时候,把
记录集给清空.
我使用了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();
}
}
}
记录集给清空.
我使用了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();
}
}
}
要删除数据库纪录,用SQL "Delete From [表] Where"比较好
conn->CursorLocation=adUseClient;
看最后一句,adAffectAll对Delete函数是无效的!!!!!!!!!!!!!!!