代码如下_bstr_t strCnn("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\InsCal.mdb");
HRESULT hr = ::CoInitialize(NULL) ;
if (FAILED(hr))
{
return ;
}
_ConnectionPtr pconet ;
pconet.CreateInstance(__uuidof(Connection) ) ;
pconet->Open(strCnn ,"","",adOpenUnspecified) ;//打开连接
_RecordsetPtr prs ;
prs.CreateInstance(__uuidof(Recordset)) ;
prs->Open("select * from UserOperation",strCnn ,adOpenDynamic,adLockOptimistic , adCmdUnknown) ;//打开记录集 for (int i = 0 ; i < 10 ; i++)//添加记录
{
variant_t fieldlist , valuelist ; fieldlist.SetString("ItemName") ;
valuelist.SetString("ItemName") ;
prs->AddNew(fieldlist ,valuelist) ; fieldlist.SetString("DEID") ;
valuelist.SetString("DEID") ;
prs->PutCollect(fieldlist ,valuelist) ; fieldlist.SetString("ActionType") ;
valuelist.SetString("ActionType") ;
prs->PutCollect(fieldlist ,valuelist) ; fieldlist.SetString("ActionNode") ;
valuelist.SetString("ActionNode") ;
prs->PutCollect(fieldlist ,valuelist) ; prs->Update() ; }
try
{
prs->Delete(ADODB::adAffectAll) ;//删除所有数据出错???
//错误提示信息“在此环境中不允许操作”
//因该如何解决???
}
catch (_com_error& e)
{
CString strError ;
strError.Format("%d , %x" ,e.Error() ,e.Error()) ;
strError += "\n\n" ;
strError += (PWSTR)e.Description() ;
AfxMessageBox(strError) ;
}
prs->Close() ;
pconet->Close() ; ::CoUninitialize();
adAffectCurrent的确是可以用的,但是我想知道为什么adAffectAll不能用
而且get_RecordCount总是不能获取到记录集中记录的计数???
再问一句get_RecordCount是不是也不支持?