为何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();