示例#1
0
  /**
   * Add event request to persistent store
   *
   * @param toAdd event to add
   * @return id of added event, or -1 if unsuccessful
   */
  public int addEventRequest(EventRequestBean toAdd) {
    String insertStatement =
        "insert into eventrequests "
            + "(clientid, type, name, fromdate, todate, budget,"
            + " status, details_photo_video, details_music,"
            + " details_poster, details_decoration, details_network,"
            + " details_food_beverages, details_waiter, feedback_budget)"
            + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
    try {
      PreparedStatement statement =
          connection.prepareStatement(insertStatement, Statement.RETURN_GENERATED_KEYS);
      statement.setInt(1, toAdd.getClientId());
      statement.setNString(2, toAdd.getType());
      statement.setNString(3, toAdd.getName());
      statement.setDate(4, new java.sql.Date(toAdd.getFrom().getTime()));
      statement.setDate(5, new java.sql.Date(toAdd.getTo().getTime()));
      statement.setNString(6, toAdd.getBudget());
      statement.setNString(7, toAdd.getStatus());
      Map<String, String> preferences = toAdd.getPreferences();
      statement.setNString(8, preferences.get("details_photo_video"));
      statement.setNString(9, preferences.get("details_music"));
      statement.setNString(10, preferences.get("details_poster"));
      statement.setNString(11, preferences.get("details_decoration"));
      statement.setNString(12, preferences.get("details_network"));
      statement.setNString(13, preferences.get("details_food_beverages"));
      statement.setNString(14, preferences.get("details_waiter"));
      statement.setNString(15, preferences.get("feedback_budget"));

      statement.executeUpdate();
      ResultSet rs = statement.getGeneratedKeys();
      if (!rs.next()) {
        return -1;
      }
      return (int) rs.getLong(1);

    } catch (SQLException e) {
      e.printStackTrace();
    }
    return -1;
  }