当前位置: 代码迷 >> PB >> :PB登录selcet语句查询用户名和密码不对也可以返回0
  详细解决方案

:PB登录selcet语句查询用户名和密码不对也可以返回0

热度:90   发布时间:2016-04-29 08:59:25.0
求助:PB登录selcet语句查询用户名和密码不对也可以返回0
编了一个登录窗口,用SELECT语句查询,如果单行编辑框输入的内容(用户编码)在用户表中有记录刚进行下一步操作,我用户表中的数据为007,但是如果单行编辑框输入的内容是0078,select语句的返回值也是0,也就是说只要单行编辑框输入的内容前三们是007后面不管是什么都可以通过,一直不明白是什么问题,请高手指点,不胜感激!我是PB新手,大家多帮助呀.

------解决方案--------------------
改成这样
C/C++ code
string ls_operator_id,yhm = '%%^#$%' --用户名先随便取一个ls_operator_id=sle_zh.textselect yonghuming into :yhm from caozuoyuan where bianma=:ls_operator_id;if sqlca.sqlcode <> 0 then //语句执行不成功(可能原因有:①数据库连接有问题②表名或字段名不存在③返回的行多于1行,也就是bianma有重复)    messagebox("错误","用户判断出现问题!~r~n出错原因:" + sqlca.sqlerrtext ,StopSign!)    returnend ifif yhm = '%%^#$%' then //用户名还是先前那个随便取的,说明该用户不存在    sle_zh.text=""    dlcs = dlcs + 1 //登录错误次数加1    //登录错误次数达到3次,则无法再进行登录,自动退出程序    if dlcs >= 3 then        messagebox("登录失败","对不起,你没有使用权限!")        Halt close;    end if    returnend if//用户存在,设置用户名sle_yhm.text = yhm//将焦点设置到密码输入框上sle_mima.setfocus()