为何ADO的Recordset第二次执行不成功呢

为什么ADO的Recordset第二次执行不成功呢
第一行提取赋给数组的可以正常显示,单独提取第二行也行,就是两个合在一起生活,第二行的煤种信息就不显示了,是不是缺点啥呢?各位帮忙看看吧,谢谢了!


//第一行的煤种信息
   sql = "Select * From t_gps_mzdwxxb where DW like '1-%' order by cast(FZB2 as float) ASC";
               m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch *)m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
  
   while ((!m_pRecordset->adoEOF) && (i<20) )
   {
   
   
   a1[i][0] = m_pRecordset->GetCollect("DW").bstrVal;
   a1[i][1] = m_pRecordset->GetCollect("FZB1").bstrVal;
   a1[i][2] = m_pRecordset->GetCollect("FZB2").bstrVal;
                       a1[i][3] = m_pRecordset->GetCollect("MZ").bstrVal;
       i++;
                   m_pRecordset->MoveNext();
   //SetDlgItemText(IDC_TIMEXS,strr);
   SetDlgItemText(IDC_DW,a1[0][0]);
   SetDlgItemText(IDC_FZB1,a1[0][1]);
   SetDlgItemText(IDC_FZB2,a1[0][2]);
       SetDlgItemText(IDC_MZ,a1[0][3]);

//   SetDlgItemText(IDC_TIMEXS,strr);
  // SetDlgItemText(IDC_DW1,a1[12][0]);
  // SetDlgItemText(IDC_FZB11,a1[12][1]);
  // SetDlgItemText(IDC_FZB21,a1[12][2]);
       //SetDlgItemText(IDC_MZ1,a1[12][3]);
   }
                m_pRecordset->Close();
    //m_pRecordset->Release();

   //第二行的煤种信息
   sql = "Select * From t_gps_mzdwxxb where DW like '2-%' order by cast(FZB2 as float) ASC";
               m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch *)m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
 // adOpenStatic  adOpenDynamic  adLockOptimistic  adLockPessimistic
   while ((!m_pRecordset->adoEOF) && (i<20) )
   {
   
   a2[i][0] = m_pRecordset->GetCollect("DW").bstrVal;
   a2[i][1] = m_pRecordset->GetCollect("FZB1").bstrVal;
   a2[i][2] = m_pRecordset->GetCollect("FZB2").bstrVal;
   a2[i][3] = m_pRecordset->GetCollect("MZ").bstrVal;
   i++;
                   m_pRecordset->MoveNext();
   
   SetDlgItemText(IDC_TIMEXS,strr);
   SetDlgItemText(IDC_DW1,a2[1][0]);
   SetDlgItemText(IDC_FZB11,a2[1][1]);
   SetDlgItemText(IDC_FZB21,a2[1][2]);
   SetDlgItemText(IDC_MZ1,a2[1][3]);
   }
    m_pRecordset->Close();