我做了个存储过程, 根据B表的QTY与A表的QTY 调整A表的S_QTY数据,如下:CREATE PROCEDURE 更新成品数
@mnumber int
AS
begin
if((select qty from B where numb=@mnumber) is null)
update A set s_qty=qty where numb=@mnumber
else
update A set s_qty=qty-(select sum(qty) from B where numb=@mnumber) where numb=@mnumber
end
GO问题是:增加B表的记录与删除B表的记录后执行
try{ update_stockqnty.ExecuteNonQuery(); } 时成功.
但在修改A表的记录后执行时,却被catch到, 但实际上记录已经执行成功,即A表的s_qty数据已经改成功. 请教为什么在修改A表后会被catch到.如何避免这样的情况. 谢谢.谢谢.
@mnumber int
AS
begin
if((select qty from B where numb=@mnumber) is null)
update A set s_qty=qty where numb=@mnumber
else
update A set s_qty=qty-(select sum(qty) from B where numb=@mnumber) where numb=@mnumber
end
GO问题是:增加B表的记录与删除B表的记录后执行
try{ update_stockqnty.ExecuteNonQuery(); } 时成功.
但在修改A表的记录后执行时,却被catch到, 但实际上记录已经执行成功,即A表的s_qty数据已经改成功. 请教为什么在修改A表后会被catch到.如何避免这样的情况. 谢谢.谢谢.
你所谓的修改A增删B又是一些什么样的动作?产生异常时的表数据大约是什么样的?
具体见我的另一帖:
http://community.csdn.net/Expert/topic/5178/5178015.xml?temp=.8451197结帖.