X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fcacert%2Fgigi%2Fdatabase%2FGigiPreparedStatement.java;h=4dea5f981f68eb28679734eb1ed88c74e2dc7328;hb=a61a2d320cc2bb730528832133a8220cb5b80d68;hp=eae804b800d20fb6cc29de98ff3c56a624b56a66;hpb=aa5723dbb64ec8efa63909d39ff72364f0a5ee96;p=gigi.git diff --git a/src/org/cacert/gigi/database/GigiPreparedStatement.java b/src/org/cacert/gigi/database/GigiPreparedStatement.java index eae804b8..4dea5f98 100644 --- a/src/org/cacert/gigi/database/GigiPreparedStatement.java +++ b/src/org/cacert/gigi/database/GigiPreparedStatement.java @@ -49,6 +49,19 @@ public class GigiPreparedStatement implements AutoCloseable { } } + public boolean executeMaybeUpdate() { + try { + int updated = target.executeUpdate(); + if (updated > 1) { + throw new Error("More than one record (" + updated + ") updated."); + } + return updated == 1; + } catch (SQLException e) { + handleSQL(e); + throw new Error(e); + } + } + public boolean execute() { try { return target.execute(); @@ -76,6 +89,15 @@ public class GigiPreparedStatement implements AutoCloseable { } } + public void setEnum(int parameterIndex, DBEnum x) { + try { + target.setString(parameterIndex, x.getDBName()); + } catch (SQLException e) { + handleSQL(e); + throw new Error(e); + } + } + public void setDate(int parameterIndex, Date x) { try { target.setDate(parameterIndex, x); @@ -116,6 +138,14 @@ public class GigiPreparedStatement implements AutoCloseable { } } + public int getParameterCount() { + try { + return target.getParameterMetaData().getParameterCount(); + } catch (SQLException e) { + throw new Error(e); + } + } + private void handleSQL(SQLException e) { // TODO Auto-generated method stub