SQL 事务处理
我写了一个函数, 想要把删除和插入联合成一个事务, 要么全执行, 要么都不执行?
不知道 怎么写?
public boolean addBatch(int roleID, int permissionID[]) {
try {
// 先删除所有的数据, 然后再插入所有的数据
sSQL = "delete from RolesPermissions where RoleID=" + roleID;
stmt = conn.createStatement();
rs = stmt.executeQuery(sSQL);
PreparedStatement stmt = conn
.prepareStatement("INSERT INTO RolesPermissions VALUES(?,?,?)");
for (int i = 0; i < permissionID.length; i++) {
stmt.setInt(2, roleID);
stmt.setInt(1, permissionID[i]);
stmt.addBatch();
}
int[] counts=stmt.executeBatch();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}