我程序采用了MDI窗体设计,所以一般的登陆程序用不了,所以写了下面这个:
主程序的create中:
procedure Tstu_main.FormCreate(Sender: TObject);
var s:string;
begin
F_LKSOFT:=TF_LKSOFT.Create(nil);
if F_LKSOFT.showmodal=Mrok then
begin
s:='select user,password from login where user='''+F_LKSOFT.edit1.text+''' and password='''+F_LKSOFT.edit2.text+'''';
with adoquery1 do
begin
sql.Clear;
sql.Add(s);
open;
if recordcount<>0 then F_LKSOFT.free
else begin showmessage('密码或用户有误');
F_LKSOFT.showmodal;
end;
end;
end;
end;
但是只有第一次会验证用户与密码,第二次就不验证直接就进入了主程序了,怎么办呢?望大家给个办法!
主程序的create中:
procedure Tstu_main.FormCreate(Sender: TObject);
var s:string;
begin
F_LKSOFT:=TF_LKSOFT.Create(nil);
if F_LKSOFT.showmodal=Mrok then
begin
s:='select user,password from login where user='''+F_LKSOFT.edit1.text+''' and password='''+F_LKSOFT.edit2.text+'''';
with adoquery1 do
begin
sql.Clear;
sql.Add(s);
open;
if recordcount<>0 then F_LKSOFT.free
else begin showmessage('密码或用户有误');
F_LKSOFT.showmodal;
end;
end;
end;
end;
但是只有第一次会验证用户与密码,第二次就不验证直接就进入了主程序了,怎么办呢?望大家给个办法!
解决方案 »
- festreport中怎么引用变量值。
- 配置adoquery的active属性的时候,为何提示缺少sql语句?
- 状态栏statusbar应用时的一点问题----delphi初学者问
- 如何结束一个进程?我是个初学者(拜托大家帮帮小妹)
- 我用ADO连接access,怎样在用installshield制作安装程序时:
- 请高手读一下关于消息的代码!如何更正???
- 下面的有什么问题,帮帮忙,救命呀
- 怎样单独提出时间里的年月日函数,不需要对Datetime进行处理
- 在MDI窗口中,我出问题了!!!!请高手相救!!!!!
- 会者不难问题,进来看看吧:
- 高分求教sql语句中的乱码问题,很急,在线等!!!
- 问一个很简单的问题,一共就10分了,请多见谅。
因为除非重新开启程序,否则FormCreate不会被再次调用到。
这个是主窗体创建时执行的代码。
改为:
F_LKSOFT:=TF_LKSOFT.Create(nil);
if F_LKSOFT.showmodal=Mrok then
begin
F_LKSOFT.free; //
....