使用adLockBatchOptimistic锁修改access记录的问题
#include "stdafx.h"
#include "Locale.h"
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"");
CoInitialize(0);
_RecordsetPtr rs;
rs.CreateInstance(L"adodb.Recordset");
rs- >Open(L"select * from lwd","provider=microsoft.jet.oledb.4.0;data source=lwd.mdb;",adOpenStatic,adLockBatchOptimistic,adCmdText);
while (!(rs- >adoEOF)){
try{
rs- >PutCollect(L"name",L"kk"); //错误IDispatch error #3156, 如果加上rs->UpdateBatch(adAffectAll)就不会有错,为何 ?????}
catch(_com_error &e){
wprintf(L"%s\n",e.ErrorMessage());
}
rs- >MoveNext();
}
try{
//rs- >CancelBatch(adAffectAll);
rs- >UpdateBatch(adAffectAll);
}
catch(_com_error &e){
wprintf(L"%s\n",e.ErrorMessage());
}
rs- >Close();
rs=NULL;
CoUninitialize();
return 0;
}