为什么我同样的登陆语句 用单文档能够执行,而用对话框不能执行?连接的ACCESS数据库,单文档加了ODBC数据源 源码如下:
UpdateData ();
m_strName.TrimRight ();
m_strPsw.TrimRight ();
_ConnectionPtr pConnection;
_RecordsetPtr pRecordset,pRecordset2;
CString strSql;
strSql="SELECT * FROM admin WHERE id='"+m_strName+"' AND password='"+m_strPsw+"'";
try
{
if (!pConnection.CreateInstance(__uuidof(Connection)))
pConnection->Open("Provider=Microsoft.JET.OLEDB.4.0;Data Source=iss.mdb","","",adModeUnknown);
} catch (_com_error e)
{
CString errormessage;
errormessage.Format ("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage ());
AfxMessageBox (errormessage);
return ;
}
try
{
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset2.CreateInstance(__uuidof(Recordset));
pRecordset->Open (_variant_t(strSql),_variant_t((IDispatch*)pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
if (pRecordset->adoEOF)
{
MessageBox ("用户名或密码错误!","",MB_ICONERROR);
return;
}
pRecordset->Close ();
m_bLogin=TRUE;
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format ("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage ());
AfxMessageBox (errormessage);
return ;
}
pConnection->Close();
CDialog::OnOK();急 谢谢帮助下
UpdateData ();
m_strName.TrimRight ();
m_strPsw.TrimRight ();
_ConnectionPtr pConnection;
_RecordsetPtr pRecordset,pRecordset2;
CString strSql;
strSql="SELECT * FROM admin WHERE id='"+m_strName+"' AND password='"+m_strPsw+"'";
try
{
if (!pConnection.CreateInstance(__uuidof(Connection)))
pConnection->Open("Provider=Microsoft.JET.OLEDB.4.0;Data Source=iss.mdb","","",adModeUnknown);
} catch (_com_error e)
{
CString errormessage;
errormessage.Format ("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage ());
AfxMessageBox (errormessage);
return ;
}
try
{
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset2.CreateInstance(__uuidof(Recordset));
pRecordset->Open (_variant_t(strSql),_variant_t((IDispatch*)pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
if (pRecordset->adoEOF)
{
MessageBox ("用户名或密码错误!","",MB_ICONERROR);
return;
}
pRecordset->Close ();
m_bLogin=TRUE;
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format ("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage ());
AfxMessageBox (errormessage);
return ;
}
pConnection->Close();
CDialog::OnOK();急 谢谢帮助下
解决方案 »
- 怎么获得一个进程所运行的服务呢?
- 如何察看VC++预处理后的结果?
- 为什么我的机器老是发送广播数据?有什么办法可以查看是什么程序发送的什么数据 ?高人指点?
- 一个关于CRecordset的问题
- ISO9000是什么?
- 请问vc中mscomm控件实现串口通信,是属于同步传输还是异步传输?我对这个概念不太情况
- 那儿有好用的WIN32串口通讯类,最好有帮助文档
- 菜问:用classwized生成的内,和直接编写.cpp.h的内有什么区别?
- 大学里认真上课的有几个?
- 我想要Linux下自动收发Message的方法(模拟PostMessage/SendMessage),请高手指点。
- 高手请进:raw socket在setsockopt后出现帮定10049错误,请问为何??
- 提问关于CTreeCtrl的复选框的显示问题。
///////////////////////////////////////
_ConnectionPtr pConnection;
_RecordsetPtr pRecordset,pRecordset2;
CString strSql;
strSql="SELECT * FROM admin WHERE id='"+m_strName+"' AND password='"+m_strPwd+"'";
AfxMessageBox(strSql);
try
{
if (!pConnection.CreateInstance(__uuidof(Connection)))
pConnection->Open("Provider=Microsoft.JET.OLEDB.4.0;Data Source=iss.mdb","","",adModeUnknown);
} catch (_com_error e)
{
CString errormessage;
errormessage.Format ("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage ());
AfxMessageBox (errormessage);
return ;
}
try
{
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset2.CreateInstance(__uuidof(Recordset));
pRecordset->Open (_variant_t(strSql),_variant_t((IDispatch*)pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
if (pRecordset->adoEOF)
{
MessageBox ("用户名或密码错误!","",MB_ICONERROR);
return;
}
pRecordset->Close ();
AfxMessageBox("OK");
//m_bLogin=TRUE;
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format ("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage ());
AfxMessageBox (errormessage);
return ;
}
pConnection->Close();