‘select* from 员工 where 员工编号=:员工'最后的":员工"~~前面有冒号就表示他是一个参数~~需要你给这个参数附值~~你Open了ADOQuery以后~~语句中有参数可是没有数值当然报错了~~你要是想增加永久字段的话这么写~~ select* from 员工 where 员工编号=‘001’
至于在程序运行的时候~~可以动态的给参数附值with ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' Select * From 员工 Where 员工编号=:aaa') Parameters.ParamByName('aaa').Value := '001'; Open; end
begin
Close;
SQL.Clear;
SQL.Add(' Select * From 员工 Where 员工编号=:aaa')
Parameters.ParamByName('aaa').Value := '001';
Open;
end
adodataset4.active:=false;
adodataset4.parameters.parambyname('员工编号').value:=
adodataset1.fieldbyname('员工编号').value;
adodataset4.active:=true;
form2.showmodal;
它就产生如下错误:
adodataset1.field('员工编号')not find
但我早已在字段时加入了的。
我觉得还是我上面的原因,就是在我设置的时候没有设置好。但不知道怎么改进它。
table和query我还没有看呢。
活着数据库字段是英文~~但是你的那你在adodataset1.fieldbyname('员工编号').value直接写那个字段的英文名~~
他用你的程序没有问题吗?