summaryrefslogtreecommitdiff
path: root/java/demo/Database/library/BookI.java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2014-09-26 11:47:37 -0230
committerDwayne Boone <dwayne@zeroc.com>2014-09-26 11:47:37 -0230
commitf96133ab0ae934a9f9c6587ded39ad28a2304066 (patch)
tree005d304bc706eb96be02d3ed1e8569dcbdb37312 /java/demo/Database/library/BookI.java
parentFixed VC warning / build failure (diff)
downloadice-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.java24
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();