ADO遍历问题
void CFireHeView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
UpdateData();
//ADO数据库操作
HRESULT hr=m_adoConn.CreateInstance(__uuidof(Connection));
if(FAILED(hr))return;
m_strConnect="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=database/guest.mdb";
//SQL SERVER connecting to the database server now:
//"Provider=SQLOLEDB; Server=server_name;"
//"Database=database_name; uid=user_name; pwd=password;";
try{
m_adoConn->Open(m_strConnect,"","",NULL);}
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),"警告",MB_OK | MB_ICONWARNING);
}
//从数据库中读取数据
m_adoRs.CreateInstance(__uuidof(Recordset));
m_adoRs->Open("SELECT * FROM TGuest",m_adoConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic ,adCmdText);//,
//列表初始化
CString s;
// s.Format("%d\t%d",m_adoRs->RecordCount,adOpenDynamic);
// ::MessageBox(NULL,s,"",MB_OK);
m_mshfGuest.SetRows(m_adoRs->RecordCount+3);
m_mshfGuest.SetRow(0);
m_mshfGuest.SetCol(0);
m_mshfGuest.SetText("客户ID");
m_mshfGuest.SetCol(1);
m_mshfGuest.SetText("客户名称");
m_mshfGuest.SetCol(2);
m_mshfGuest.SetText("联系人名字");
m_mshfGuest.SetCol(3);
m_mshfGuest.SetText("公司或部门");
m_mshfGuest.SetCol(4);
m_mshfGuest.SetText("记帐地址");
m_mshfGuest.SetCol(5);
m_mshfGuest.SetText("城市");
m_mshfGuest.SetCol(6);
m_mshfGuest.SetText("省份");
m_mshfGuest.SetCol(7);
m_mshfGuest.SetText("邮政编码");
m_mshfGuest.SetCol(8);
m_mshfGuest.SetText("国家");
m_mshfGuest.SetCol(9);
m_mshfGuest.SetText("联系人职称");
m_mshfGuest.SetCol(10);
m_mshfGuest.SetText("电话号码");
m_mshfGuest.SetCol(11);
m_mshfGuest.SetText("分机");
m_mshfGuest.SetCol(12);
m_mshfGuest.SetText("传真号码");
m_mshfGuest.SetCol(13);
m_mshfGuest.SetText("电子邮件地址");
m_mshfGuest.SetCol(14);
m_mshfGuest.SetText("附注");
m_mshfGuest.SetCol(15);
m_mshfGuest.SetText("网址");
m_mshfGuest.SetCol(16);
m_mshfGuest.SetText("FTP地址");
m_mshfGuest.SetCol(17);
m_mshfGuest.SetText("FTP用户名");
m_mshfGuest.SetCol(18);
m_mshfGuest.SetText("FTP用户密码");
if(m_adoRs->adoEOF==-1)
{
}
else
{
try{
//m_adoRs->MoveFirst();
int irow=1;
//s.Format("%b",m_adoRs->adoEOF);
// ::MessageBox(NULL,(char *)m_adoRs->adoEOF,"警告",MB_OK | MB_ICONWARNING);
while(!m_adoRs->adoEOF)//==VARIANT_FALSE
{
m_mshfGuest.SetRow(irow);
s.Format("%d",irow);
::MessageBox(NULL,s,"警告",MB_OK | MB_ICONWARNING);
m_mshfGuest.SetCol(0);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("GuestID")));
m_mshfGuest.SetCol(1);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrGuest")));
m_mshfGuest.SetCol(2);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrName")));
m_mshfGuest.SetCol(3);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrCompany")));
s.Format("%d",irow);//Message1
::MessageBox(NULL,s,"警告",MB_OK | MB_ICONWARNING);
m_mshfGuest.SetCol(4);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrJZDZ")));
s.Format("%d",irow);//Message2
::MessageBox(NULL,s,"警告",MB_OK | MB_ICONWARNING);
m_mshfGuest.SetCol(5);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrCity")));
m_mshfGuest.SetCol(6);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrProvince")));
m_mshfGuest.SetCol(7);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrCode")));
m_mshfGuest.SetCol(8);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrCountry")));
m_mshfGuest.SetCol(9);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrZC")));
m_mshfGuest.SetCol(10);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrPhone")));
m_mshfGuest.SetCol(11);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrSubPhone")));
m_mshfGuest.SetCol(12);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrFax")));
m_mshfGuest.SetCol(13);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrEmail")));
m_mshfGuest.SetCol(14);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrBZ")));
m_mshfGuest.SetCol(15);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrURL")));
m_mshfGuest.SetCol(16);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrFTPIP")));
m_mshfGuest.SetCol(17);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrFTPUserName")));
m_mshfGuest.SetCol(18);
m_mshfGuest.SetText((char*)_bstr_t(m_adoRs->GetCollect("ChrFTPPassword")));
m_adoRs->MoveNext();
irow++;
}
}
catch (_com_error &e)
{
CString str=(char*)e.Description();
//::MessageBox(NULL,str,"提示",MB_OK | MB_ICONWARNING);
}
}
UpdateData(FALSE);
}
为什么我的代码只能执行到//Message1.而执行不到//Message2呢
大家给看看啊。谢谢