问题描述
这个盘盈功能涉及一共有3张表,t_ruku(对入库的经手人时间等进行登记),t_rukuMing(对入库的数量进行登记),t_pancun(盘存记录的登录),Stringdanjuhao=String.valueOf(newDate().getTime());Stringshijian=req.getParameter("shijian");intgoods_id=Integer.parseInt(req.getParameter("goods_id"));Stringshijishuliang=req.getParameter("shijishuliang");Stringxitongshuliang=req.getParameter("xitongshuliang");Stringtype1=req.getParameter("type1");Stringbeizhu=req.getParameter("beizhu");inta=Integer.parseInt(req.getParameter("shijishuliang"));//实际数量intb=Integer.parseInt(req.getParameter("xitongshuliang"));//系统数量intyuangong_id=0;intzongjiage=1000;Stringjingshouren="";Stringbeizhu1="盘盈";Stringbeizhu2="盘亏";Stringdel="no";Stringsql1="insertintot_pancunvalues(?,?,?,?,?,?,?,?)";Object[]params1={shijian,goods_id,shijishuliang,xitongshuliang,type1,beizhu,yuangong_id,del};DBmydb=newDB();//这个是我对上面SQL语句的问号进行赋值if(a>b)//实际大于系统要进行入库使的系统数量等于实际{Stringsql2="insertintot_rukuvalues(?,?,?,?,?,?)";Object[]params2={danjuhao,shijian,zongjiage,jingshouren,beizhu1,del};mydb.doPstm(sql2,params2);intc=a-b;Stringsql3="insertintot_rukuMingxivalues(?,?,?,?)";Object[]params3={null,goods_id,c,beizhu1};mydb.doPstm(sql3,params3);mydb.doPstm(sql1,params1);mydb.closed();}else{};//下面这些没什么用的进行跳转而已req.setAttribute("message","操作成功");req.setAttribute("path","pancun?type=pancunMana");StringtargetURL="/common/success.jsp";dispatch(targetURL,req,res);我运行之后,对其操作后发现只有sql2执行了,其他两条都没执行,如何才能把这3条SQL语句都执行了
解决方案
解决方案二:
大家过来帮帮我谢谢
解决方案三:
DBmydb2=newDB();mydb2.doPstm(sql2,params2);mydb2.close();试试。。。
解决方案四:
引用2楼atest001的回复:
DBmydb2=newDB();mydb2.doPstm(sql2,params2);mydb2.close();试试。。。
DBmydb2=newDB();mydb2.doPstm(sql3,params3);mydb2.close();
改成这样或者用数据库批处理试试。