日期:2014-05-20  浏览次数:20729 次

commit用法请教
我用的是sql server数据库,现在有两张表为t_order,t_order_item.他们有一个共同的字段order_id且都为主键还自增的.当进行插入记录的时候必须同时对两张表添加一条记录.要用到commit的东东.我不会用!
我的代码:
public   void   orderitem_insert(BookStore   bookstore){
String   sqlprimary= "insert   into   t_order_item   (book_name,book_count)   values(?,?) ";
        String   sq1= "insert   into   t_order(customer_name,customer_addr,note,added_time,status)values(?,?,?,?,?) ";
try{
PreparedStatement   psprimary=conn.prepareStatement(sqlprimary);
PreparedStatement   ps=conn.prepareStatement(sq1);
ps.setString(1,bookstore.getCustomername());
ps.setString(2,bookstore.getCustomeraddr());
ps.setString(3,bookstore.getNote());
// ps.setInt(4,bookstore.getBookamt());
ps.setString(4,bookstore.getAddedtime());
ps.setString(5,bookstore.getStatus());
ps.execute();
psprimary.setString(1,bookstore.getBookname());
psprimary.setInt(2,bookstore.getBookcount());
psprimary.execute();
}catch(Exception   e){
e.printStackTrace();
}
}
我运行时就出错了,两张表一条记录都没增加我知道是ps.execute();和psprimary.execute();的问题,具体该怎么样实现我的功能谢谢了.


------解决方案--------------------
这个和COMMIT没关系吧 ~~只有用到事务时才需要提交~~如HIBERNATE里面经常出现
你这个插不进去 贴一下报的社么错

------解决方案--------------------
ding
------解决方案--------------------
ps.execute();
执行这一句时,connection就已经关闭了

------解决方案--------------------
我晕了 我的这个就用到事务处理了,两张表要不同时添加一条记录要不都不增加.
恩忘了说下,我在sql server里把t_order和t_order_item表关联了(通过order-id)
若关联去掉就可以正常执行了.
我就想在这段代码里用事务处理.