请指教。
下面是一个登陆窗口。但当输入口令和密码,点击“登陆”时。没反应。。。
一下代码是在“登陆”按钮的clickd()事件。
本人刚学pb,不懂,请大虾指教,谢谢
string pw
int n
select "密码"
into:pw
from "guanliyuan"
where "guanliyuan"."口令"=:sle_name.text and "guanliyuan"."密码"=:sle_code.text;
if sle_name.text=trim(pw) then
n=n+1
if sqlca.sqlcode=0 then
open(w_denglu_user)
close(parent)
elseif n=3 then
messagebox('警告','你已达到最大次数,不能登录')
close(parent)
else
sle_name.text=''
sle_code.text=''
messagebox('警告','口令或密码输入错误')
end if
end if
------解决方案--------------------
感觉是楼主的 select 语句有问题。
------解决方案--------------------
select "密码"
into:pw
from "guanliyuan"
where "guanliyuan"."口令"=:sle_name.text and "guanliyuan"."密码"=:sle_code.text;
-->
string name , code
name = sle_name.text
code = sle_code.text
select 密码
into:pw
from guanliyuan
where 口令=:name and 密码=:code;
------解决方案--------------------
假设:sle_name 是用户名的输入框, 而sle_code 是密码的输入框,
那么可以这么写试试:
- C/C++ code
///先定义窗口的实例变量 ii_nstring pwselect "密码" into :pw from "guanliyuan" where "guanliyuan"."口令"=:sle_name.text and "guanliyuan"."密码"=:sle_code.text using sqlca;if sqlca.sqlcode = 0 then if sle_code.text = pw then open(w_denglu_user) close(parent) elseif ii_n < 3 then ii_n ++ sle_name.text='' sle_code.text='' messagebox('警告','口令或密码输入错误') else messagebox('警告','你已达到最大次数,不能登录') close(parent) end ifelse messagebox('错误','交互密码验证错误:'+sqlca.sqlerrtext) close(parent)end if
------解决方案--------------------
难道是数据库没有连接上?
------解决方案--------------------
或者 用debug 看看到哪沒反應的
------解决方案--------------------
------解决方案--------------------
一步一步调找!