Delphi代码问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:34:01
我做了个管理系统,在登录界面的确定按钮上写了如下代码:
procedure TFlogin.BitBtn1Click(Sender: TObject);
var sUser,sPass: string;
begin
sUser := Trim(edtUser.Text);
sPass := Trim(edtPass.Text);
with DDMain.ADOQ_User do
begin
Close;
SQL[1] := ' WHERE (UCase(管理员ID)='''
+ UpperCase(sUser) + ''') AND (登录密码='''
+ sPass + ''')';
Open;
if Bof then
begin
iErr := iErr + 1;
if iErr > 3 then
Application.Terminate
end
else
begin
ShowMessage('用户名或密码错误!');
edtUser.SetFocus;
end;
end;
end;
现在出现的问题是运行后即使不输入管理员ID和密码直接点确定仍然可以进入主界面。希望高手指点一下,看看拿写错了!

sql语句不对吧
sUser := Trim(edtUser.Text);
sPass := Trim(edtPass.Text);
with DDMain.ADOQ_User do
begin
Close;
SQL.add('select count(*) as cnt from tbl where 管理员ID=' + sUser and 登录密码=''' + sPass + '''');
Open;
if FieldValues['cnt'] <= 0 then
begin
ShowMessage('用户名或密码错误!');
edtUser.SetFocus;
iErr := iErr + 1;
if iErr > 3 then
Application.Terminate
end
else
begin
//进入主界面
end;
end;

f2_query是TQUERY类型的话:
f2_query.SQL.Text:='insert into stu_info(stu_id,stu_name,stu_age,stu_sex,stu_tel,stu_address) values (:id,:name,:age,:sex,:tel,:address)';
f2_query.Parameters.ParamByName('stu_id'):=id;
改为:
f2_query.SQL.Add('insert into stu_info ');
f2_query.SQL.Add('(stu_id,stu_name,stu_age,stu_sex,stu_tel,stu_address) ');
f2_query.SQL.Add('values ');
f2_query.SQL.Add