密码验证问题.(50分)

  • 主题发起人 主题发起人 wohoot
  • 开始时间 开始时间
W

wohoot

Unregistered / Unconfirmed
GUEST, unregistred user!
原码如下:
(editpwd 密码输入,dbcombobox1 用户选择,mainform 主窗体)
procedure Tpdform.FormCreate(Sender: TObject);
begin
editpwd.Clear;
dbcombobox1.Items.Clear;
while not table1.Eof do
begin
dbcombobox1.Items.Add(table1.FieldByName('user').AsString);
table1.Next;
end;
end;


procedure Tpdform.okbtnClick(Sender: TObject);
begin
if editpwd.text='' then
showmessage('请输入密码!')
else
if trim(editpwd.text)<>Table1.fieldbyname('pd').asstring then
showmessage('密码错误!请重新输入密码!')
else
if (trim(dbcombobox1.text)=table1.FieldByName('user').asstring) and
(trim(editpwd.text)=Table1.fieldbyname('pd').asstring) then
mainform.Show;
end;

问题:不论选择哪个用户,密码以用户表中最后用户密码为准。请指教怎样解决?在线等待。100分。[:(!][:(!]
 
兄弟,问题如下:
在formcreate事件中Table1已指向最后一条记录.
解决如下:

procedure Tpdform.okbtnClick(Sender: TObject);
begin
if editpwd.text='' then
begin
showmessage('请输入密码!')
edtpwd.setfocus;
end;
if dbcombobox1.text='' then
begin
showmessage('请输入密码!')
dbcombobox1.setfocus;
end;
table1.first;
while not talbe1.eof do
begin
if (trim(dbcombobox1.text)=table1.FieldByName('user').asstring) and
(trim(editpwd.text)=Table1.fieldbyname('pd').asstring) then
begin
mainform.Show;
exit;
end;
table1.next;
end;
end;
 
procedure Tpdform.FormCreate(Sender: TObject);
begin
editpwd.Clear;
dbcombobox1.Items.Clear;
while not table1.Eof do
begin
dbcombobox1.Items.Add(table1.FieldByName('user').AsString);
table1.Next;
end;
end;


procedure Tpdform.okbtnClick(Sender: TObject);
begin
table1.locate('userid',dbcombobox1.text,[]);
if editpwd.text='' then
showmessage('请输入密码!')
else
if trim(editpwd.text)<>Table1.fieldbyname('pd').asstring then
showmessage('密码错误!请重新输入密码!')
else
if (trim(dbcombobox1.text)=table1.FieldByName('user').asstring) and
(trim(editpwd.text)=Table1.fieldbyname('pd').asstring) then
mainform.Show;
end;

 
后退
顶部