MFC中使用数据源的问题

CStringuser,password;intpower;CDatabasem_db;intt=m_db.Open(_T("学生信息"));CStrings;s.For... CString user, password;
int power;
CDatabase m_db;
int t=m_db.Open(_T("学生信息"));
CString s;
s.Format("%d",t);
MessageBox(s,"");

CPswdSet m_Set;

m_Set.m_pDatabase=&m_db;

CStuInforSet m_stuset;

m_stuset.m_pDatabase=&m_db;

m_Set.Open(CRecordset::dynaset,"select * from manage");

//CString s;
//s.Format("%d",t);
//MessageBox(s,"");

// m_Set.Close();

while(!m_Set.IsEOF())
{

user = m_Set.m_num ;
password = m_Set.m_password;

power=m_Set.m_power;
user.TrimRight();
password.TrimRight();

if(( user==m_User_Num)&&(m_User_Password==password))
{

CDialog::OnOK();

if(power==0)
{

CSuperDlg dlg;

dlg.DoModal();
}

else
{
COrdinaryDlg dlg;

dlg.DoModal();

}
m_Set.Close();
break;
}

else
{
m_Set.MoveNext();

}
}

m_Set.Close();

m_stuset.Open(CRecordset::dynaset,"select studentnum ,password from studentinformation");
while(!m_stuset.IsEOF())
{
user=m_stuset.m_num;
password=m_stuset.m_password;

user.TrimRight();
password.TrimRight();

if((user==m_User_Num)&&(password==m_User_Password))
{

CDialog::OnOK();

CStudentDlg dlg;

dlg.DoModal();
//flag=3;
m_stuset.Close();
break;

}

else
{
m_stuset.MoveNext();

}

}
m_db.Close();
这个程序段为什么第二个WHILE不能读进来数据呢?
展开
 我来答
polang1988
2008-08-27 · TA获得超过171个赞
知道答主
回答量:100
采纳率:0%
帮助的人:110万
展开全部
你这些代码都在一起吗,就是在一个函数里面吗?
要是的话,前面哪个while里面或许弹出CSuperDlg dlg; dlg.DoModal(); 这个对话框,或许弹出COrdinaryDlg dlg; dlg.DoModal(); 这个对话框,这两个都是模态对话框,只有关闭了他们之后,程序才会继续往下运行。程序往下运行后首先运行m_Set.Close(); 再break;跳出while循环,又执行m_Set.Close(); ,同一个记录执行两次Close可能会出错吧,
或许用户名和密码都错了,那么CSuperDlg dlg; dlg.DoModal()和COrdinaryDlg dlg; dlg.DoModal(); 都不会执行。
假使没出错,m_stuset开始查询,往下程序运行。

不知道这(第二个WHILE不能读进来数据呢) 是什么意思。只能帮忙帮到这里了,没有更多的信息
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式