public int delete(int sID) {
dbc = new DataBaseConnection();
Connection con = dbc.getConnection();
try {
con.setAutoCommit(false);// 更改JDBC事务的默认提交方式
dbc.executeUpdate("delete from bylaw where ID=" + sID);
dbc.executeUpdate("delete from bylaw _content where ID=" + sID);
dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID);
con.commit();//提交JDBC事务
con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式
dbc.close();
return 1;
}
catch (Exception exc) {
con.rollBack();//回滚JDBC事务
exc.printStackTrace();
dbc.close();
return -1;
}
}
这个例子该很相信吧!!!就是在java代码中实现事物,不是在sql中实现!
分别向两张表里插数据,没有别的办法。不过需要注意楼上说的,需要做成事务。因为有可能会出现异常(一个表插入成功,另外一个表没有成功),把两次插入数据做成事务。
使用事务: 插入数据前开始事务-〉分别向两个表插入数据-〉提交事务 con.beiginTran();--insertTable1--insertTable2con.commit();