代码忘写了!!!!!真是的 data.qu_pass.close;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd and issuper="y"');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.open;
if data.qu_pass.recordcount=1 then
f_login.Close; if data.qu_pass.recordcount<>1 then
data.qu_pass.close;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd ');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.open;
f_main.n28.enabled:=false;
f_main.n31.enabled:=false;
f_main.n9.enabled:=false;
f_main.n13.enabled:=false;
f_main.n17.enabled:=false;
if data.qu_pass.recordcount=1 then
f_login.close
else
application.messagebox('密码错误!','提示',mb_ok);
end;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd and issuper="y"');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.open;
if data.qu_pass.recordcount=1 then
f_login.Close; if data.qu_pass.recordcount<>1 then
data.qu_pass.close;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd ');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.open;
f_main.n28.enabled:=false;
f_main.n31.enabled:=false;
f_main.n9.enabled:=false;
f_main.n13.enabled:=false;
f_main.n17.enabled:=false;
if data.qu_pass.recordcount=1 then
f_login.close
else
application.messagebox('密码错误!','提示',mb_ok);
end;
....
data.qu_pass.parambyname('name').value:=Trim(edit1.text);
data.qu_pass.parambyname('passwd').value:=Trim(edit2.text);
...试试。
有没更好的办法?
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd and issuper='y'');
...试试。
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd and (issuper='y' or issuper='Y')');
...试试。
我曾用过2个radiobutton,把代码写在onenter事件里,但是,操作时必须在
radio上点击一下,而后输入密码,系统才认,很不合理,能否有更好的办法吗?
到else之间加begin....end,呵呵 !
我是通过设置mainmenu组件的enabled属性来决定用户是否可用该模块,
但是在loginform里授权时,没有思路了,不知该如何处理?
上述的代码就是我在 确认 按钮下写的,但是无法判别超级用户,
也许是代码逻辑有错误,但我看不出来,
如果你能告诉我一种更好的办法就好了
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd and issuper="y"');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.execsql;
if data.qu_pass.recordcount>0 then
begin
f_login.Close;
exit; end
else
begin
//data.qu_pass.recordcount<>1 then
data.qu_pass.close;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd ');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.execsql;
if data.qu_pass.recordcount>0 then
begin
f_main.n28.enabled:=false;
f_main.n31.enabled:=false;
f_main.n9.enabled:=false;
f_main.n13.enabled:=false;
f_main.n17.enabled:=false;
if data.qu_pass.recordcount>0 then
f_login.close
end
else
application.messagebox('密码错误!','提示',mb_ok);
end
end;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd and issuper="y"');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.execsql;
if data.qu_pass.recordcount>0 then
begin
f_login.Close;
exit; end
else
begin
//data.qu_pass.recordcount<>1 then
data.qu_pass.close;
data.qu_pass.SQL.clear;
data.Qu_pass.sql.Add('select * from pass');
data.Qu_pass.sql.Add('where name=:name and passwd=:passwd ');
data.qu_pass.parambyname('name').value:=edit1.text;
data.qu_pass.parambyname('passwd').value:=edit2.text;
data.qu_pass.execsql;
if data.qu_pass.recordcount>0 then
begin
f_main.n28.enabled:=false;
f_main.n31.enabled:=false;
f_main.n9.enabled:=false;
f_main.n13.enabled:=false;
f_main.n17.enabled:=false;
//if data.qu_pass.recordcount>0 then
f_login.close
end
else
application.messagebox('密码错误!','提示',mb_ok);
end
end;
请问:
1,data.qu_pass.execsql;是什么意思
2,exit是不是中断程序?
3,这段程序运行正常,只是用普通用户登陆后,在调出loginform注册
为超级用户时,系统没有反映,让视为普通用户,但不报错
谢谢
有分之日必报答,发财之时别忘了俺!
1.data.qu_pass.execsql;与data.qu_pass.open差不多,有点小区别,你自己看看吧
2.exit是退出此过程,其实上面的代码有没有都行,有 else嘛
3.“注册为超级用户,系统没有反映”,不知你是怎么做的,上面的代码好象没涉及到吧,我也不知道了!