为什么我这里if pass_word:=Dpassword.Text then 这句语句出错,提示错误是“[Error]loginunit.pas(61) Type of expression must be BOOLEAN”为什么要是BOOLEAN型的呢?
代码如下:
with ADOlogin do
begin
Active:=false;
sql.Clear;
sql.Add('select password from login where user_name=:user_name');
Parameters[0].Value:=Trim(Dusername.Text);
Active:=True;
pass_word:=Fields[1].AsString;
if pass_word:=Dpassword.Text then
begin
pricecenter.Show;
pricecenter.Free;
end
else
Dusername.Text:='';
Dusername.SetFocus;
Dpassword.Text:='';
showmessage('用户名或者密码不正确,请重新输入');
end
end;
要使用QUERY 或ADOQUERY , 如下:
WITH QUERY1 DO
BEGIN
Active:=False;
SQL.CLEAR;
SQL.ADD('SELECT password FROM 表 WHERE user_name=:NAME'); //參加NAME 爲變量
Parameters[0].Value:=EDIT1.TEXT; // 傳入的參數:用戶名
Active:=True;
PW:=fieldbyname('password').AsString; //從表中取得字段password 的內容
If PW=Edit2.text then
... // 如果輸入的密碼與表中的密碼相同,則 ...
Else
...
end;