diff options
author | Martin Weick <e1627760@student.tuwien.ac.at> | 2018-05-23 12:45:35 +0200 |
---|---|---|
committer | Martin <martin.weick@outlook.com> | 2018-05-23 12:45:35 +0200 |
commit | 505c7dbdd8d2de827eefba8007463fb314a0f1a0 (patch) | |
tree | b0fe597ccce4b82ec797569efdba6530b0613ce3 /src/main | |
parent | b7fb4e11afc3dbc622652f54d96470da102436ea (diff) | |
download | sepm-groupproject-505c7dbdd8d2de827eefba8007463fb314a0f1a0.tar.gz sepm-groupproject-505c7dbdd8d2de827eefba8007463fb314a0f1a0.tar.xz sepm-groupproject-505c7dbdd8d2de827eefba8007463fb314a0f1a0.zip |
Fix VehicleVersion Id #25963
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java index 7e0f494..808e7e7 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java @@ -33,6 +33,7 @@ public class VehicleDatabaseDao implements VehicleDAO { String status = "ABGEMELDET"; String name = ""; int id = -1; + int version = -1; try { Connection connection = jdbcConnectionManager.getConnection(); connection.setAutoCommit(false); @@ -46,30 +47,35 @@ public class VehicleDatabaseDao implements VehicleDAO { p1.setString(4, vehicle.type().name()); p1.executeUpdate(); - try (ResultSet keyResultSet = p1.getGeneratedKeys()) { if (keyResultSet.next()) { + version = keyResultSet.getInt(1); + } + } + } + try (PreparedStatement p2 = + connection.prepareStatement(query2, Statement.RETURN_GENERATED_KEYS)) { + + p2.setInt(1, version); + p2.setString(2, status); + p2.executeUpdate(); + try (ResultSet keyResultSet = p2.getGeneratedKeys()) { + + if (keyResultSet.next()) { id = keyResultSet.getInt(1); } } name = vehicle.type().name() + "-" + id; } - query1 = "UPDATE VehicleVersion SET name=? WHERE id=?"; try (PreparedStatement p3 = connection.prepareStatement(query1)) { p3.setString(1, name); - p3.setInt(2, id); + p3.setInt(2, version); p3.executeUpdate(); } - try (PreparedStatement p2 = connection.prepareStatement(query2)) { - - p2.setInt(1, id); - p2.setString(2, status); - p2.executeUpdate(); - } connection.commit(); connection.setAutoCommit(true); } catch (SQLException e) { @@ -125,7 +131,7 @@ public class VehicleDatabaseDao implements VehicleDAO { throw new ElementNotFoundException("Vehicle don“t found"); } } - name = vehicle.type().name() + "-" + vehicleVersion; + name = vehicle.type().name() + "-" + vehicleID; query = "UPDATE VehicleVersion SET name=? WHERE id=?"; try (PreparedStatement p = connection.prepareStatement(query)) { |