delphi 数据库 出现过程'inprocduct' 需要参数'@ioinfo' 单未提供该参数

varinfo:string;beginifComboBox1.Text<>''thenifComboBox2.Text<>''thenifEdit4.Text<>''t... var
info:string;
begin
if ComboBox1.Text<>'' then
if ComboBox2.Text<>'' then
if Edit4.Text<>'' then
if RadioButton1.Checked then
with ADOStoredProc1 do
begin
ProcedureName:='inproduct';
Parameters.Refresh;
Parameters.ParamByName('@ino').Value := Edit1.Text;
Parameters.ParamByName('@jinchu').Value := '进仓';
Parameters.ParamByName('@date').Value := FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
Parameters.ParamByName('@mancode').Value := ComboBox1.Text;
Parameters.ParamByName('@wcode').Value := ComboBox2.Text;
Parameters.ParamByName('@wname').Value := Edit3.Text;
Parameters.ParamByName('@num').Value := Edit2.Text;
Parameters.ParamByName('@danwei').Value := Edit4.Text;
Parameters.ParamByName('@message').Value := Edit5.Text;
//Prepared:=true;
ExecProc;
info := Parameters.ParamByName('@ioinfo').Value;
edt1.Text:=info;
ShowMessage(info);
end
else if RadioButton2.Checked then
with ADOStoredProc1 do
begin
ProcedureName:='outproduct';
Parameters.Refresh;
Parameters.ParamByName('@ino').Value := Edit1.Text;
Parameters.ParamByName('@jinchu').Value := '进仓';
Parameters.ParamByName('@date').Value := FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
Parameters.ParamByName('@mancode').Value := ComboBox1.Text;
Parameters.ParamByName('@wcode').Value := ComboBox2.Text;
Parameters.ParamByName('@wname').Value := Edit3.Text;
Parameters.ParamByName('@num').Value := Edit2.Text;
Parameters.ParamByName('@danwei').Value := Edit4.Text;
Parameters.ParamByName('@message').Value := Edit5.Text;

//Prepared:=true;
ExecProc;
info:= Parameters.ParamByName('@ioinfo').Value;
ShowMessage(info);
end
else
ShowMessage('请输入数量')
else
ShowMessage('请选择物料')
else
ShowMessage('请确定操作人员');
存储过程如下
数据库代码如下
create proc outproduct
@ino varchar(15),
@jinchu varchar(4),
@date datetime,
@mancode varchar(8),
@wcode int,
@wname char(15),
@num float,
@danwei varchar(5),
@message varchar(5),
@ioinfo char(20) output
as
declare @sum float
begin
SET XACT_ABORT ON
begin tran
select @sum=库存数量 from mater where 物料代码=@wcode
if @@ROWCOUNT <>0
begin
if @sum-@num<0
begin
set @ioinfo='操作失败,';
rollback tran
return 0
end
else
begin
begin tran
update mater set 库存数量=@sum-@num
where 物料代码=@wcode
insert into in_out values(@ino,@jinchu,@date,@mancode,@wcode,@wname,@num,@danwei,@message)
set @ioinfo='操作成功'
commit tran
end
end
else
begin
set @ioinfo='操作失败'
rollback tran
end
commit tran
end
go

试过了 没用 而且我是想把 sql的参数传出来
展开
 我来答
maodrc
2009-05-10 · TA获得超过3289个赞
知道小有建树答主
回答量:1090
采纳率:79%
帮助的人:1169万
展开全部
现在报的错误是找不到ioinfo参数,
那你就把这个参数也传进去,

因为没有用过这个控件,所以去google一把,看是不是这个控件执行的时候output的参数也一定要传值.但是没有找到确切的结果.

你这里也把@ioinfo的值传进去吧.

Parameters.ParamByName('@ioinfo').Value := "";
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式