[求助]ClientDataSet调用ADOStoredProc出现参数错误的问题。(50分)

  • 主题发起人 主题发起人 zc_king
  • 开始时间 开始时间
Z

zc_king

Unregistered / Unconfirmed
GUEST, unregistred user!
cdspr_price_quan_search = TClientDataSet 连接一个 ADOStoredProc
procedure Tfrm1200.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected = nil then
exit;
IF treeview1.Selected.Level = 0 then
begin
with cdspr_price_quan_searchdo
begin
close;
Active := False;
Params.ParamByName('@par_id').Value := strtoint(pstring(treeview1.selected.Data)^);
Params.ParamByName('@unit_id').Value := v_unit_id;
Execute;
// IF Params.ParamByName('@unit_quan').Value > 0 then
// begin
medream_price.Text := Params.ParamByName('@ream_price').AsString;
medTon_price.Text := Params.ParamByName('@ton_price').AsString;
END
end
else
exit;
end;

第一次执行的时候是没有问题的,但第二次以后就会出现:
cdspr_price_quan_search:parmeter'@par_id' not found 的错误信息。
 
我想这个最有可能的是Params.ParamByName('@par_id').Value := strtoint(pstring(treeview1.selected.Data)^);
的值是空值(不是null),无法转化成整形的,所以出错,你跟踪一下就清楚了
 
谢谢,终于有人回答了,但我跟过了不是wwhnet说的那样
我改成
Params.ParamByName('@par_id').Value := 1008010009;
还是出现同样的错误。
 
后退
顶部