code: public int executeUpdate() throws SQLException {
          startTimer();
          try {
              setQueryResult(getProtocol().executeQuery(dQuery));
              dQuery.clearParameters();
          } catch (QueryException e) {
              throw SQLExceptionMapper.get(e);
          } finally {
              stopTimer();
          }
          if (getQueryResult().getResultSetType() != ResultSetType.MODIFY) {
              throw SQLExceptionMapper.getSQLException("The query returned a result set");
          }
          return (int) ((ModifyQueryResult) getQueryResult()).getUpdateCount();
      }
docs: Executes the SQL statement in this <code>PreparedStatement</code> object, which must be an SQL Data Manipulation
  Language (DML) statement, such as <code>INSERT</code>, <code>UPDATE</code> or <code>DELETE</code>; or an SQL
  statement that returns nothing, such as a DDL statement.
  
  @return either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements
  that return nothing
  @throws java.sql.SQLException if a database access error occurs; this method is called on a closed
  <code>PreparedStatement</code> or the SQL statement returns a
  <code>ResultSet</code> object