summaryrefslogtreecommitdiff
path: root/java/demo/Database/library/BookI.java
diff options
context:
space:
mode:
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();