下面程序是一个查询,首先根据用户选择的'部门',查找到'部门编号',在从'renyuan'库中查出所有属于给部门的员工信息。其中'bumenno1'为变量,是要查找的部门的部门编号,可程序变异通过后,运行实提示‘invaid field name,bumenno1',如果将语句('sele * from renyuan where bumenno=bumenno1');该为('sele * from renyuan where bumenno=1')这运行通过,请问何原因
begin
with datamodule2.bumentable do
begin
active:=true;
locate('bumenname',combobox1.Text,[lopartialkey]);
bumenno1:=datamodule2.bumentable.fieldbyname('bumenno').asinteger;
edit1.Text:=inttostr(bumenno1);
end;
with datamodule2.renyuantable do
begin
active:=true;
dbgrid1.DataSource:=datamodule2.queryDS;
end; with datamodule2.Query1 do
begin
databasename:='laobao';
datasource:=datamodule2.renyuands;
close;
sql.Clear;
sql.add('select * from renyuan where bumenno=bumenno1');
begin
with datamodule2.bumentable do
begin
active:=true;
locate('bumenname',combobox1.Text,[lopartialkey]);
bumenno1:=datamodule2.bumentable.fieldbyname('bumenno').asinteger;
edit1.Text:=inttostr(bumenno1);
end;
with datamodule2.renyuantable do
begin
active:=true;
dbgrid1.DataSource:=datamodule2.queryDS;
end; with datamodule2.Query1 do
begin
databasename:='laobao';
datasource:=datamodule2.renyuands;
close;
sql.Clear;
sql.add('select * from renyuan where bumenno=bumenno1');
query1.parambyname('s1').values:=bumenno1