我的登录代码???(delphi7+sql)

来源:百度知道 编辑:UC知道 时间:2024/05/09 19:28:52
begin
with ADOQlogin do
begin
close;
sql.clear;
sql.add('select * from T_用户表');
open;

if (edtuser.Text=ADOQlogin.FieldByName('username').AsString)and(edtpwd.Text=ADOQlogin.FieldByName('password').AsString)then
begin //正确;
mainform.showmodal;
mainform.free;
loginform.hide;
end
else //不正确;
begin
if (edtuser.Text <>ADOQlogin.FieldByName('username').AsString) then ;
begin
application.MessageBox('非法用户,请输入正确的用户名!','用户名',mb_ok+mb_iconexclamation);
edtuser.SetFocus;
end
else if (edtpwd.Text <>ADOQlogin.FieldByName('password').AsString) then
begin
edtpwd.Clear ;
application.MessageBox('请输入密码,请再输入一次!','密码:',mb_ok+mb_iconexclamation);
edtpwd.SetFocus;
end;
请教高手,是不是我编写的代码有错呢?为什么登录窗口不会消失?指导一下本菜鸟吧!!谢谢!!

mainform.showmodal;
mainform.free;
loginform.hide;

mainform.showmodal就不应该用模态的形式显示,应该直接用mainform.show;
loginform.hide;可以直接关闭,不要隐藏.否则主窗体不能再创建子窗体了.
应改成loginform.close;