diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2014-09-26 11:47:37 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2014-09-26 11:47:37 -0230 |
commit | f96133ab0ae934a9f9c6587ded39ad28a2304066 (patch) | |
tree | 005d304bc706eb96be02d3ed1e8569dcbdb37312 /java/demo/Database/library/BookI.java | |
parent | Fixed VC warning / build failure (diff) | |
download | ice-f96133ab0ae934a9f9c6587ded39ad28a2304066.tar.bz2 ice-f96133ab0ae934a9f9c6587ded39ad28a2304066.tar.xz ice-f96133ab0ae934a9f9c6587ded39ad28a2304066.zip |
ICE-3692 library database demo doesn't throw object not exist sometimes
Diffstat (limited to 'java/demo/Database/library/BookI.java')
-rw-r--r-- | java/demo/Database/library/BookI.java | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/java/demo/Database/library/BookI.java b/java/demo/Database/library/BookI.java index 18a86d7337e..68daf4340d7 100644 --- a/java/demo/Database/library/BookI.java +++ b/java/demo/Database/library/BookI.java @@ -78,7 +78,16 @@ class BookI extends _BookDisp try { - java.sql.PreparedStatement stmt = context.prepareStatement("UPDATE books SET title = ? WHERE id = ?"); + // First make sure the book still exists. + java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?"); + stmt.setInt(1, id); + java.sql.ResultSet rs = stmt.executeQuery(); + if(!rs.next()) + { + throw new Ice.ObjectNotExistException(); + } + + stmt = context.prepareStatement("UPDATE books SET title = ? WHERE id = ?"); stmt.setString(1, title); stmt.setInt(2, id); int count = stmt.executeUpdate(); @@ -102,8 +111,17 @@ class BookI extends _BookDisp try { - // First destroy each of the authors_books records. - java.sql.PreparedStatement stmt = context.prepareStatement("DELETE FROM authors_books WHERE book_id = ?"); + // First make sure the book still exists. + java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?"); + stmt.setInt(1, id); + java.sql.ResultSet rs = stmt.executeQuery(); + if(!rs.next()) + { + throw new Ice.ObjectNotExistException(); + } + + // Next destroy each of the authors_books records. + stmt = context.prepareStatement("DELETE FROM authors_books WHERE book_id = ?"); stmt.setInt(1, id); stmt.executeUpdate(); |