无效的描述符索引
我用vc++6.0开发一个电话本应用程序,编译都通过了,在执行时出现“无效的描述符索引”,然后我设断点更踪了一下,在更踪过程中可以看到在记录集中都有了读出的数据,可就是不能再编辑框中出现,我数据读取的顺序和数据库的存储顺序是相同的。希望高手能给予指点,谢谢了!
void CPhoneBookDlg::RefreshData()
{
CString strSql;
CString temp;
if(m_database.IsOpen())
{
m_database.Open(_T("PhoneBook"));
m_friendsset.m_pDatabase=&m_database;
}
strSql.Format("select * from friends");
m_friendsset.Open(CRecordset::forwardOnly,strSql);
m_friendsset.GetFieldValue("friends_id", temp );
m_edit_no.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_name",temp);
m_edit_name.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_age",temp);
m_edit_age.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_sex",temp);
if(temp=="男"){
((CButton *)GetDlgItem(IDC_RADIO_MAN))->SetCheck(BST_CHECKED);
((CButton *)GetDlgItem(IDC_RADIO_WOMAN))->SetCheck(BST_UNCHECKED);
}
else {
((CButton *)GetDlgItem(IDC_RADIO_MAN))->SetCheck(BST_UNCHECKED);
((CButton *)GetDlgItem(IDC_RADIO_WOMAN))->SetCheck(BST_CHECKED);
}
m_friendsset.GetFieldValue("friends_phone",temp);
m_edit_phone.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_mobile",temp);
m_edit_mobile.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_qq",temp);
m_edit_qq.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_email",temp);
m_edit_email.SetWindowText(temp);
m_friendsset.GetFieldValue("friends_address",temp);
m_edit_address.SetWindowText(temp);
UpdateData(false);
}
PS:我是用ODBC连接sql sverver 2000