procedure Tfrmain.AffirmSecurity;//登陆密码验证
var
ps:string; //定义变量存密码
begin frPass:=TfrPass.Create(self);
if frPass.ShowModal<>mrOK then
begin
application.Terminate;
exit;
end; ps:=frPass.Edit1.Text;
frPass.Free;
AdoTable1.Close;
AdoTable1.ConnectionString:=format(link,[fn]);
AdoTable1.TableName:='pass';//PASS是表名
AdoTable1.Open;
AdoTable1.First;
if ps<>ADOTable1.FieldByName('password').AsString then
begin
messagedlg('密码错误!!',mtError,[mbOK],0);
AdoTable1.Close;
Application.Terminate;
end ;
ADOTable1.Close;
end;本代码是登录窗口:请问各位大侠我每次运时,输入正确的密码时,一运行至if ps<>ADOTable1.FieldByName('password').AsString then时,发觉返回的值是真,所以就转到 messagedlg('密码错误!!',mtError,[mbOK],0);
AdoTable1.Close;
Application.Terminate;中去,我想问啊哪儿出错,是字符串比较出错吗?
var
ps:string; //定义变量存密码
begin frPass:=TfrPass.Create(self);
if frPass.ShowModal<>mrOK then
begin
application.Terminate;
exit;
end; ps:=frPass.Edit1.Text;
frPass.Free;
AdoTable1.Close;
AdoTable1.ConnectionString:=format(link,[fn]);
AdoTable1.TableName:='pass';//PASS是表名
AdoTable1.Open;
AdoTable1.First;
if ps<>ADOTable1.FieldByName('password').AsString then
begin
messagedlg('密码错误!!',mtError,[mbOK],0);
AdoTable1.Close;
Application.Terminate;
end ;
ADOTable1.Close;
end;本代码是登录窗口:请问各位大侠我每次运时,输入正确的密码时,一运行至if ps<>ADOTable1.FieldByName('password').AsString then时,发觉返回的值是真,所以就转到 messagedlg('密码错误!!',mtError,[mbOK],0);
AdoTable1.Close;
Application.Terminate;中去,我想问啊哪儿出错,是字符串比较出错吗?
if ps <> Trim(ADOTable1.FieldByName('password').AsString) then
如果还不行,可能是大小写问题,再改为:
if not SameText(ps, Trim(ADOTable1.FieldByName('password').AsString)) then