数据库相关的操作

来源:互联网 发布:java可视化编程 编辑:程序博客网 时间:2024/04/26 05:07

//如何通过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;
}

原创粉丝点击