VC用ADO访问Access怎么向空白表中添加数据

VC用ADO访问Access怎样向空白表中添加数据
有一张Access空白表table
怎样向里面写入数据?
以下代码向table空白表中写入数据会奔溃,怎么办?
CString sql="SELECT * FROM table order by ID asc";
    try
{
    m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(_bstr_t(sql),                                          _variant_t((IDispatch*)theApp.m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)    ///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
        while(!m_pRecordset->adoEOF && !m_pRecordset->BOF)              //
{
            m_pRecordset->MoveLast();
            m_pRecordset->AddNew(); 
            m_pRecordset->GetFields()->GetItem("编号")->Value = (_bstr_t)m_num;
            m_pRecordset->GetFields()->GetItem("名称")->Value = (_bstr_t)m_name;     
}
        m_pRecordset->Update();
请帮忙解决一下





------解决方案--------------------
while(!m_pRecordset->adoEOF && !m_pRecordset->BOF)              //
 {
             m_pRecordset->MoveLast();
             m_pRecordset->AddNew(); 
             m_pRecordset->GetFields()->GetItem("编号")->Value = (_bstr_t)m_num;
             m_pRecordset->GetFields()->GetItem("名称")->Value = (_bstr_t)m_name;     
m_pRecordset->Update(); //加在while里,就是这句和AddNew配对使用,不能最后来一个更新完后,每加一次后就更新,然后于增加
 }
         
------解决方案--------------------
去掉movelast
------解决方案--------------------
//while(!m_pRecordset->adoEOF && !m_pRecordset->BOF)