if((trim(LoginName.Text)=trim(adoTable2.FieldValues['AID']))
and
(trim(LoginPsw.Text)=trim(adoTable2.FieldValues['Apwd'])))
then
begin
form1.Hide;
form2.Show;
end
//这里应该怎么改?
repeat
adotable2.Next;
until
adoTable2.FieldValues['AID']=nil;
and
(trim(LoginPsw.Text)=trim(adoTable2.FieldValues['Apwd'])))
then
begin
form1.Hide;
form2.Show;
end
//这里应该怎么改?
repeat
adotable2.Next;
until
adoTable2.FieldValues['AID']=nil;
with adoquery do
begin
sql.clear;
sql.add('SELECT * FROM Users where username=:user');
parameters.parambyname('AID').value=LoginName.Text;
open;
first;
end; while not adoquery.eof do
begin
if adoquery.FieldByName('APWD').asstring=LoginPsw.Text then
loginok:=true
adoquery.next;
end;if loginok then
//登录成功
else
//失败
var
i : integer; for i := 0 to qry.fieldcount-1 do showMessage(qry.fields[i].name) ; // 這叫所有字段你要是遍曆數據:with Qry do while not eof do
begin
next
end; 還有你的代碼不明白意思。
procedure TForm1.LoginClick(Sender: TObject);
VAR
//定义一个常量判断
i:integer;
begin
//root用户
if((trim(LoginName.Text)=trim(adoTable1.FieldValues['Rootname']))
and
(trim(LoginPsw.Text)= trim(adoTable1.FieldValues['Rootpwd'])))
then
begin
form1.Hide;
form2.Show;
end;
//admin 用户
while not adotable2.Eof do
begin
if ((adotable2.FieldByName('AID').asstring=trim(LoginName.Text))
and (adotable2.FieldByName('Apwd').asstring=trim(LoginPsw.Text)))
then
i:=0;
adotable2.Next;
end;
if
(i=0)
then
begin
form1.Hide;
form3.Show;
end;
//reader用户
while not adotable3.Eof do
begin
if ((adotable3.FieldByName('Rname').asstring=trim(LoginName.Text))
and (adotable3.FieldByName('Rno').asstring=trim(LoginPsw.Text))) then
i:=1;
adotable3.Next;
end;
if(i=1)
then
begin
form1.Hide;
form4.Show;
end;
end;