存储过程的问题 ( 积分: 10 )

  • 主题发起人 主题发起人 admin2008
  • 开始时间 开始时间
A

admin2008

Unregistered / Unconfirmed
GUEST, unregistred user!
我的存储过程在查询分析器已通过 我想达到的目的是 当我修改入库表时 那么这时库存表的数量就要改变了 就变成了当前修改的入库数量了
create procedure sp_update_cgstore
(@fs_bill_id nvarchar(20),@fs_vendor_id int,@fs_yao_id int,@fs_vld_date datetime,@fs_huowei_id int,@fs_ph nvarchar(20),@fs_qty numeric(14,4))
AS
--功能:更新当前库存
BEGIN
update CGSTORE set MOUNT =@fs_qty where
(CGSTORE.yaoid = @fs_yao_id) and
(CGSTORE.id = @fs_huowei_id) and (CGSTORE.ph = @fs_ph) and
(CGSTORE.vendor_id = @fs_vendor_id) and (CGSTORE.yxq =@fs_vld_date)
END
我在程序中调用跟踪了也运行了存储过程当我查看库存表发现库存数量没有变化
with adostoredproc1 do
begin
close;
Parameters.ParamByName('@fs_bill_id').Value:=DBText5.Caption;//入库单号
Parameters.ParamByName('@fs_vendor_id').Value:=DBText1.Caption; //供货单位
Parameters.ParamByName('@fs_yao_id').Value:=DBText4.Caption;//药品id
Parameters.ParamByName('@fs_vld_date').Value:=FormatDateTime('yyyy-mm-dd',dbdateedit1.Date);//有效期
Parameters.ParamByName('@fs_huowei_id').Value:=strtoint(DBText6.Caption);/货位
Parameters.ParamByName('@fs_ph').Value:=trim(dbedit1.Text);//批号
Parameters.ParamByName('@fs_qty').Value:=strtofloat(edit1.Text);//数量
ExecProc ;
end;
帮我看下存储过程错在那呢
 
没有
commit ?
 
最好检查一下参数值!有可能是值没有符合的条件而不能修改!
 
问题应该是出在了where子句那里,DBText1.Caption是不是单位名称,而参数要的是单位名称ID
 
同意楼上观点
 
DBText1.Caption是单位ID呀
 
后退
顶部