Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate » MS SQL  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 不显示删除回复显示所有回复显示星级回复显示得分回复
jimmyofth





发贴: 18
积分: 0
于 2011-07-21 21:41 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
本人在编写一个软件,主要用于货物销售,采用struts架构,后台使用MS SQLSERVER。
我碰到的问题是:
一次销售可能包含多个产品,那么数据库设计采用主表-子表的形式,一对多关系。在jsp页面输入每个产品的销售数量时,可能会出现大于库存数量,或者无该产品库存(存储库存的表没有对应的记录),一旦碰上这种情况,我需要回滚本次销售发生的所有操作,包括库存数量足够的记录。我不知道该怎么处理,设置autocommit为false,在javabean里逐条写sql语句好像不可取,但数据库存储过程又无法传递数组参数(一次销售中产品种类的数量不确定,只能用数据等数据结构),该怎么处理好呢?

我能想到的办法是:先把数据存到一张临时表,然后调用存储过程把数据存入正式表,在存储过程中启用事务处理,并使用
cursor逐条验证库存数量,一旦发现一条数量不足,回滚所有操作。

但我觉得我这个方法挺笨的,请教高手,给一个好的方法。




话题树型展开
人气 标题 作者 字数 发贴时间
6398 不显示删除回复显示所有回复显示星级回复显示得分回复 jimmyofth 419 2011-07-21 21:41

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923