(1)先做了一个基于对话框的应用程序
(2)在不用ado连接数据库时,可以实现登录到主对话框
(3)连接数据库后, 出现 应用程序错误是怎么回事"ox004778f3"指令引用的0x00000000内存错误。该内存不能为"read"
(2)在不用ado连接数据库时,可以实现登录到主对话框
(3)连接数据库后, 出现 应用程序错误是怎么回事"ox004778f3"指令引用的0x00000000内存错误。该内存不能为"read"
解决方案 »
- vc中怎么设定一幅图片的某些区域为按钮,若可以使这些图片颜色随着鼠标移动而变化更好
- 请线程高手帮我解决掉编译出现的线程ERROR,小弟解决不了,请高手帮忙下.谢谢了!!!!
- VC下如何进行UNICODE和ANSI字符串的转换~转换函数的用法~还有比较两个字符串大小的函数和用法~速来抢分~
- 请问如何在一个Dialog(或窗口)中打开一个新的View?
- 救命啊 第一次做dll(高分在线等待)
- 回来问弟兄们一个问题,关于重载CPoint类。
- 请大家帮忙想个毕业设计的题目!
- CHtmlView加载url在IE9下崩溃,为什么?求大神指点啊!也可进来探讨探讨
- I/O完成端口的作用是解决过量的线程切换?
- ???关于《金山词霸》的一个问题,如何实现单词的捕捉?
- 计算机网络看哪本书比较好?
- 新人求教内存泄漏的问题
int CUser::HaveName(CString cUserName)
{
CADORecordset *pRs=new CADORecordset(((CSMMISDlg*)AfxGetApp())->pDB);
CString strSQL;
int m;
strSQL.Format("select * from User where UserName='%s'",cUserName);
pRs->Open(strSQL,CADORecordset::openQuery);
if(pRs->GetRecordCount()==1) //判断记录集个数
m=1;
else m=-1; pRs->Close();
delete pRs;
return m;
}
void CUser::GetData(CString cUserName)
{
CADORecordset *pRs=new CADORecordset(((CSMMISDlg*)AfxGetApp())->pDB);
CString strSQL;
strSQL.Format("select * from User where UserName='%s'",cUserName);
pRs->Open(strSQL,CADORecordset::openQuery);
if(pRs->GetRecordCount()==1)
{
pRs->GetFieldValue("UserName",m_userName);
pRs->GetFieldValue("Password",m_Pwd);
pRs->GetFieldValue("TypeID",m_type);
}
pRs->Close();
delete pRs;
}
void CLoginDialog::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
//使用CUser类
CUser user;
//判断EditBox中输入的密码是否和数据库中的密码相同
if(user.HaveName(m_UserName)<0)
{
MessageBox("该用户名不存在");
return ;
}
user.GetData(m_UserName);
if (m_Password!=user.GetPwd())
{
MessageBox("密码不正确");
return;
}
/* */
CDialog::OnOK();
CSMMISDlg dlg;
dlg.DoModal();
try
{
//你的ADO代码
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}
2、单步调试,定位出错代码