showmessage(WH_ID+'/'+IntToStr(PageSize)+'/'+IntToStr(PageNo));
with acdTask.Params.Add do begin
Name := 'WH_ID';
DataType := ftInteger;
ParamType := ptInput;
end;
with acdTask.Params.Add do begin
Name := 'PageSize';
DataType := ftSmallint;
ParamType := ptInput;
end;
with acdTask.Params.Add do begin
Name := 'PageNo';
DataType := ftInteger;
ParamType := ptInput;
end;
with acdTask.Params.Add do begin
Name := 'Count';
DataType := ftInteger;
ParamType := ptOutput;
end; acdTask.Params.ParamByName('WH_ID').AsString := WH_ID;
acdTask.Params.ParamByName('PageSize').AsInteger := PageSize;
acdTask.Params.ParamByName('PageNo').AsInteger := PageNo;
m_RecordCount := acdTask.Params.ParamByName('Count').AsInteger;
acdTask.StoredProcedure := 'getStockInTaskToDo';
acdTask.Open;
for i := 0 to acdTask.Params.Count-1 do begin
showmessage(acdTask.Params[i].Name);
showmessage(acdTask.Params[i].AsString);
end;
一开始显示的是4/50/1
但后面显示是有4个参数,分别为@RETURN_VALUE,@WH_ID,@PAGESIZE,@PAGENO,@COUNT,
而且奇怪的是值分别为0,0,0,2
也就是说参数值没有传进去,我想问怎么回事,是什么设置没做吗?
with acdTask.Params.Add do begin
Name := 'WH_ID';
DataType := ftInteger;
ParamType := ptInput;
end;
with acdTask.Params.Add do begin
Name := 'PageSize';
DataType := ftSmallint;
ParamType := ptInput;
end;
with acdTask.Params.Add do begin
Name := 'PageNo';
DataType := ftInteger;
ParamType := ptInput;
end;
with acdTask.Params.Add do begin
Name := 'Count';
DataType := ftInteger;
ParamType := ptOutput;
end; acdTask.Params.ParamByName('WH_ID').AsString := WH_ID;
acdTask.Params.ParamByName('PageSize').AsInteger := PageSize;
acdTask.Params.ParamByName('PageNo').AsInteger := PageNo;
m_RecordCount := acdTask.Params.ParamByName('Count').AsInteger;
acdTask.StoredProcedure := 'getStockInTaskToDo';
acdTask.Open;
for i := 0 to acdTask.Params.Count-1 do begin
showmessage(acdTask.Params[i].Name);
showmessage(acdTask.Params[i].AsString);
end;
一开始显示的是4/50/1
但后面显示是有4个参数,分别为@RETURN_VALUE,@WH_ID,@PAGESIZE,@PAGENO,@COUNT,
而且奇怪的是值分别为0,0,0,2
也就是说参数值没有传进去,我想问怎么回事,是什么设置没做吗?
你用其他的方法看看, 是不是参数真的没传进去?