//如何通过ADO获得记录集中的每条信息
//MoveNext() MovePrevious() MoveLast() MoveFirst()
//
while(!m_pRecordset->adoEOF) //如果未到达记录集的末尾,就继续遍历下一条记录
{
m_list.InsertItem(0,_bstr_t(""));
m_list.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect(_T(student_name)));
m_list.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect(_T(student_sex)));
m_list.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect(_T(student_age)));
m_pRecordset->MoveNext();
}
//如何使用记录集对象的AddNew() Update()和Delete()方法
//
//HRESULT Delete(enum AffectedEnum AffectRecords) //参数AffectRecords指定了删除记录的方式,adAffectCurrent和adAffectGroup分别代表仅删除当前记录和删除满足当前所设属性的所有记录
//HRESULT Move(long NumRecords,const_variant_t&Start=vtMissing) //NumRecords表示记录集指针需要移动的记录数,正向前,负反方向移动;Start规定了移动的起始位置,默认从当前行开始
m_list.DeleteAllItems();
try
{
//添加新行
m_pRecordset->AddNew();
m_pRecordset->PutCollect("student_name","康夫");
m_pRecordset->PutCollect("student_sex","男");
m_pRecordset->PutCollect("student_age","6");
m-pRecordset->Update();
//修改某行
m_pRecordset->MoveFirst();
m_pRecordset->Move(8,vtMissing);
m_pRecordset->PutCollect("student_name","小静");
m_pRecordset->PutCollect("student_sex","女");
m_pRecordset->PutCollect("student_age","5");
//删除某行
m_pRecordset->Move(6,vtMissing);
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Update();
}
catch(_com_error e)
{
AfxMessageBox("操作执行失败!");
return FALSE;
}