- 注册时间
- 2011-1-31
- 最后登录
- 2012-3-4
- 在线时间
- 10 小时
- 鹏币
- 601
- 阅读权限
- 20
- 积分
- 104
- 帖子
- 8
- 主题
- 0
- 精华
- 0
- UID
- 67720

|
发表于 2012-2-22 22:00:50
|显示全部楼层
既然hstmt代表的语句是“select FPassWord from T_rupeng where FUserName='%s' ”那么执行SQLGetData()的结果就是UserName等于你输入的用户名的密码,所以直接比较输入的密码和获得的密码就可以了。
TCHAR StrDB[MAXBUFLEN];
ZeroMemory(StrDB,sizeof(StrDB));
wsprintf(StrDB,"select FPassWord from T_rupeng where FUserName='%s'",UserName);
result = SQLPrepare(hstmt,(SQLCHAR*)StrDB,SQL_NTS);
CHECKDBSTMTERROR(hwnd,result,hstmt);
result =SQLExecute(hstmt);
CHECKDBSTMTERROR(hwnd,result,hstmt);
SQLINTEGER cbsatid = SQL_NTS;
int flag=0;
TCHAR pswd[20];
SQLGetData(hstmt,2,SQL_C_CHAR,pswd,sizeof(pswd),&cbsatid);
if(0==strcmp(pswd,PassWord))
{
MessageBox(hwnd,TEXT("登陆成功"),TEXT("正确"),MB_OK);
flag=1;
}
if(0==flag)
MessageBox(hwnd,TEXT("用户名不存在或密码错误!"),TEXT("错误"),MB_OK|MB_ICONERROR); |
|