procedure TForm_CheckUser.BitBtn1Click(Sender: TObject);
var
nameset,password,right:String;begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select name,password,right from userpower where name=:nameset and password=:password ');
ADOQuery1.Parameters.ParamByName('nameset').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('password').Value:=Edit2.Text;
ADOQuery1.Open;
if i>0 then
begin
if not ADOQuery1.IsEmpty then
begin
right:=DBGrid1.Fields[2].Value;
showmessage(right); if right='operator' then
begin
MainForm.Button1.Enabled:=False;
showmessage('11111111111');
end;
MainForm.Show;
end
endend;这段代码中有一个奇怪的问题,当我执行到showmessage(right)时,显示的是operator
但是下一句判断语句的结果总是false,如果我把判断语句改成
if not right='operator'
结果就能执行begin里面的内容了,这是为什么呢?
var
nameset,password,right:String;begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select name,password,right from userpower where name=:nameset and password=:password ');
ADOQuery1.Parameters.ParamByName('nameset').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('password').Value:=Edit2.Text;
ADOQuery1.Open;
if i>0 then
begin
if not ADOQuery1.IsEmpty then
begin
right:=DBGrid1.Fields[2].Value;
showmessage(right); if right='operator' then
begin
MainForm.Button1.Enabled:=False;
showmessage('11111111111');
end;
MainForm.Show;
end
endend;这段代码中有一个奇怪的问题,当我执行到showmessage(right)时,显示的是operator
但是下一句判断语句的结果总是false,如果我把判断语句改成
if not right='operator'
结果就能执行begin里面的内容了,这是为什么呢?
改为: right:=DBGrid1.fields[2].asstring;
试一下
begin
MainForm.Button1.Enabled:=False;
showmessage('11111111111');
end;
应该就没有问题了
procedure TForm_CheckUser.BitBtn1Click(Sender: TObject);
var
nameset,password,right:String;begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select name,password,right from userpower where name=:nameset and password=:password ');
ADOQuery1.Parameters.ParamByName('nameset').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('password').Value:=Edit2.Text;
ADOQuery1.Open;
if i>0 then
begin
if not ADOQuery1.IsEmpty then
begin
right:=trim(DBGrid1.Fields[2].AsString);
showmessage(right); if right='operator' then
begin
MainForm.Button1.Enabled:=False;
showmessage('11111111111');
end;
MainForm.Show;
end
endend;