ado连接数据库,登录,看看输入的密码等不等与数据库password中的password
代码如下: int tag=0;
//CDialog::OnOK();
UpdateData(TRUE);
try
{
CString sql;
sql.Format(_T("select * from password")); _RecordsetPtr p_Recordset;
p_Recordset.CreateInstance(__uuidof(Recordset));
p_Recordset->Open((_bstr_t)sql,p_Connection1.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdUnknown);
while(!p_Recordset->adoEOF)
{ if (m_passsword==(_bstr_t)p_Recordset->GetCollect((_T("password")))))//不知道这里写的对不?
{
MessageBox("成功登录!");
tag=1;
break;
}
p_Recordset->MoveNext();
}
if (tag==1)
{
dlg1.DoModal();//显示相应的学生数据库增加,删除信息对话框
}
else
MessageBox("请输入正确的用户名和密码!");
}
catch(_com_error e)
{
AfxMessageBox(_T("Failed!"));
}
大家有什么,好的办法,?
我还是不太了解p_Recordset->GetCollect的返回值是啥类型的?
我这个编译连接都没问题,但是就是说("请输入正确的用户名和密码!");
我估计就是if (m_passsword==(_bstr_t)p_Recordset->GetCollect((_T("password")))))这个判断不对
代码如下: int tag=0;
//CDialog::OnOK();
UpdateData(TRUE);
try
{
CString sql;
sql.Format(_T("select * from password")); _RecordsetPtr p_Recordset;
p_Recordset.CreateInstance(__uuidof(Recordset));
p_Recordset->Open((_bstr_t)sql,p_Connection1.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdUnknown);
while(!p_Recordset->adoEOF)
{ if (m_passsword==(_bstr_t)p_Recordset->GetCollect((_T("password")))))//不知道这里写的对不?
{
MessageBox("成功登录!");
tag=1;
break;
}
p_Recordset->MoveNext();
}
if (tag==1)
{
dlg1.DoModal();//显示相应的学生数据库增加,删除信息对话框
}
else
MessageBox("请输入正确的用户名和密码!");
}
catch(_com_error e)
{
AfxMessageBox(_T("Failed!"));
}
大家有什么,好的办法,?
我还是不太了解p_Recordset->GetCollect的返回值是啥类型的?
我这个编译连接都没问题,但是就是说("请输入正确的用户名和密码!");
我估计就是if (m_passsword==(_bstr_t)p_Recordset->GetCollect((_T("password")))))这个判断不对
解决方案 »
- type="xsd:anyURI"是什么数据类型?
- 一个菜菜的问题。
- 如何保存上次设置的参数
- 大家来给做个参谋!帮帮忙!!!意见多多意善。多多意善。
- 新手:带个对勾的菜单项,为什么不能自动是点一下有对勾,再点没对勾?一定要自己写onupdate函数吗?
- 最近在写一个 isapi filter
- 求助:图像时怎么转换的????
- 有关Windows API底层消息中负责系统变更通知的是那条?如我修改了注册表不想重启动而使其生效,应该怎么做?
- 怎样让缩小到系统托盘里的程序在鼠标不移动到图标的时候也出现指定的提示信息?
- 谁知道怎么转换?
- VC中如何弹出提示对话框,有两个是和否按钮的
- CTREECTRL 拖拽的问题
CString str;
var =p_Recordset->GetCollect("password");
if(var.vt != VT_NULL)
str = (LPCSTR)_bstr_t(var);
vt_null指的是某个记录的这个字段值为null,一般用于做判断的
CString sql;
sql.Format(_T("select * from password where name='%s' and password='%s'" ),m_name,m_passsword); _RecordsetPtr p_Recordset;
p_Recordset.CreateInstance(__uuidof(Recordset));
p_Recordset->Open((_bstr_t)sql,p_Connection1.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdUnknown);
if (p_Recordset->GetRecordCount()==1)
{
MessageBox("成功登录!");
tag=1;
//break;
}
if (tag==1)
{
dlg1.DoModal();
}
else
MessageBox("请输入正确的用户名和密码!");
}
这么搞?没反应,直接跳到下一句去了,,