维的Delphi7高效数据库程序设计第二章中的 2.4 使用TSqlStoredProc,同样是FireBird,运行例子,使用scdsRaiseSalary出现 Paramter 'EID' not found
如果改成用spRaiseSalary出现 'dbExpress Error: Operation Not Supported'
这个就不知道为什么了,大家有这个问题吗?
...全文
459打赏收藏
dbExpress访问Interbase(FireBird1.0)出现的错误.
维的Delphi7高效数据库程序设计第二章中的 2.4 使用TSqlStoredProc,同样是FireBird,运行例子,使用scdsRaiseSalary出现 Paramter 'EID' not found 如果改成用spRaiseSalary出现 'dbExpress Error: Operation Not Supported' 这个就不知道为什么了,大家有这个问题吗?
procedure TForm1.FormActivate(Sender: TObject);
var
aBK : TBookMark;
begin
if (cbEID.Items.Count = 0) then
begin
aBK := dmCallStoredProc.scdsEmployee.GetBookmark;
try
cbEID.Items.BeginUpdate;
dmCallStoredProc.scdsEmployee.First;
while not dmCallStoredProc.scdsEmployee.Eof do
begin
cbEID.Items.Add(dmCallStoredProc.scdsEmployee.FieldByName('EID').Value);
dmCallStoredProc.scdsEmployee.Next;
end;
cbEID.ItemIndex := 0;
finally
cbEID.Items.EndUpdate;
dmCallStoredProc.scdsEmployee.GotoBookmark(aBK);
dmCallStoredProc.scdsEmployee.FreeBookMark(aBK);
end;
end;
end;
procedure TForm1.btnRaiseSalaryClick(Sender: TObject);
begin
with dmCallStoredProc.scdsRaiseSalary do
//with dmCallStoredProc.spRaiseSalary do
begin
Params.ParamByName('EID').Value := cbEID.Text;
Params.ParamByName('RPERCENT').Value := StrToFloat(edtPercent.Text);
Execute;
//ExecProc;
end;
end;
procedure TForm1.cbEIDChange(Sender: TObject);
begin
dmCallStoredProc.scdsEmployee.Locate('EID', cbEID.Text, []);
end;