学了电脑了有三年了,接触到MFC程序设计也有一年了,看过不少书,<primer c++> <深入浅出MFC>
<MFC window 程序设计> 还有些实例书,也看了有那么久了,可是从来没做过东西,这几天做一个数据库管理系统数据库都想了几天,刚刚做好模块版面,第一个密码登录窗口代码设计就出问题了,老是不用密码都能进,我真晕啊,今天我就做在电脑面前看了一天,一动不动,就是个不知道怎么回事,参考了一下这方面的书籍就是那回事,对
照起来就没什么两样,我晕了,ODBC连接数据库 ,这就是代码部分,我真的晕了,就是登录老是不用密码,一点就进
void CClasshourDlg::OnButton1()
{
CClasshourDlg m_login;
CAdminRS *m_recordset =new CAdminRS(&m_database);
CString strsql;
int count = 0;
UpdateData(TRUE);
strsql.Format("select * from admin Where user='%s' and password='%s'",m_user,m_password);
m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strsql);
if(m_recordset->GetRecordCount==0)
{
if(count<3)
{
MessageBox("输入不正确");
count++;
}
else
{
MessageBox("太多次数");
m_database.Close();
CDialog::OnOK();
}
}
else
{
m_database.Close();
CMain main;
main.m_database.Open(_T("db"));
main.DoModal();
}
}
<MFC window 程序设计> 还有些实例书,也看了有那么久了,可是从来没做过东西,这几天做一个数据库管理系统数据库都想了几天,刚刚做好模块版面,第一个密码登录窗口代码设计就出问题了,老是不用密码都能进,我真晕啊,今天我就做在电脑面前看了一天,一动不动,就是个不知道怎么回事,参考了一下这方面的书籍就是那回事,对
照起来就没什么两样,我晕了,ODBC连接数据库 ,这就是代码部分,我真的晕了,就是登录老是不用密码,一点就进
void CClasshourDlg::OnButton1()
{
CClasshourDlg m_login;
CAdminRS *m_recordset =new CAdminRS(&m_database);
CString strsql;
int count = 0;
UpdateData(TRUE);
strsql.Format("select * from admin Where user='%s' and password='%s'",m_user,m_password);
m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strsql);
if(m_recordset->GetRecordCount==0)
{
if(count<3)
{
MessageBox("输入不正确");
count++;
}
else
{
MessageBox("太多次数");
m_database.Close();
CDialog::OnOK();
}
}
else
{
m_database.Close();
CMain main;
main.m_database.Open(_T("db"));
main.DoModal();
}
}
解决方案 »
- 请问如何在MFC程序里面嵌入Java编写的窗口程序?
- 单个TCP连接是否有速度限制
- visualC++ 编译错误 syntax error : missing ';' before identifier 'NDIS_OID'
- 有什么好办法把一个类里的数据成员一次性写得文件当中?
- 学汇编对vc有多大帮助
- 100分请教高手:TryEnterCriticalSection在98下不支持,有无替代的函数?
- 紧急求助:ComponentOne True DBGrid Pro 7.0 怎么样在VC中使用!!
- 为什么我的一个可以运行的对话框程序在简单拖入一个MS COMMUNICATION CONTROL后,再运行就出现不了以前的画面了(什么画面也不出现)?
- 急!请问各位前辈,如何改变一个CListCtrl某一行的字体颜色?
- 哪里有较完善的COM站点?
- 下载指定网络路径的文件。
- 如何实现悬浮提示,急啊,哪位兄弟能帮我一下
else
{m_database.Close();
CMain main;
main.m_database.Open(_T("db"));
main.DoModal();
}执行到这块里去了
有问题用记录集和空比较就好
if(!m_pRecordset->adoEOF)
AfxTrace(strsql)在调试状态下输出来,粘到你的数据库客户端试一下执行结果.一步步的调试,调试是程序员的基本功,比会写代码还重要.
--------------
不要使用GetRecordCount判断查找到的记录个数~~~~`