@Override
  public boolean registrarInvitado(Cliente invitado, Integer idnovios, Connection conn)
      throws SQLException, Exception {
    boolean resultado = false;
    CallableStatement cs = null;
    String sql = "{ ? = call negocio.fn_ingresainvitado(?,?,?,?,?,?,?,?,?) }";
    try {
      cs = conn.prepareCall(sql);
      int i = 1;
      cs.registerOutParameter(i++, Types.BOOLEAN);
      cs.setString(i++, invitado.getNombres());
      cs.setString(i++, invitado.getApellidoPaterno());
      cs.setString(i++, invitado.getApellidoMaterno());
      if (invitado.getFechaNacimiento() != null) {
        cs.setDate(i++, UtilJdbc.convertirUtilDateSQLDate(invitado.getFechaNacimiento()));
      } else {
        cs.setNull(i++, Types.DATE);
      }
      cs.setString(i++, invitado.getTelefonoInvitadoNovios());
      cs.setString(i++, invitado.getCorreoElectronico());
      cs.setInt(i++, idnovios);
      cs.setString(i++, invitado.getUsuarioCreacion());
      cs.setString(i++, invitado.getIpCreacion());
      cs.execute();

      resultado = true;
    } catch (SQLException e) {
      resultado = false;
      throw new SQLException(e);
    } finally {
      try {
        if (cs != null) {
          cs.close();
        }
      } catch (SQLException e) {
        throw new SQLException(e);
      }
    }

    return resultado;
  }
  @Override
  public List<Cliente> consultarInvitasosNovios(int idnovios, Connection conexion)
      throws SQLException {
    List<Cliente> resultado = null;
    CallableStatement cs = null;
    String sql = "{ ? = call negocio.fn_consultarinvitadosnovios(?) }";
    ResultSet rs = null;
    try {
      cs = conexion.prepareCall(sql);
      int i = 1;
      cs.registerOutParameter(i++, Types.OTHER);
      cs.setInt(i++, idnovios);
      cs.execute();

      rs = (ResultSet) cs.getObject(1);
      resultado = new ArrayList<Cliente>();
      Cliente invitado = null;
      while (rs.next()) {
        invitado = new Cliente();
        invitado.setCodigoEntero(UtilJdbc.obtenerNumero(rs, "id"));
        invitado.setNombres(UtilJdbc.obtenerCadena(rs, "nombres"));
        invitado.setApellidoPaterno(UtilJdbc.obtenerCadena(rs, "apellidopaterno"));
        invitado.setApellidoMaterno(UtilJdbc.obtenerCadena(rs, "apellidomaterno"));
        invitado.setTelefonoInvitadoNovios(UtilJdbc.obtenerCadena(rs, "telefono"));
        invitado.setCorreoElectronico(UtilJdbc.obtenerCadena(rs, "correoelectronico"));
        resultado.add(invitado);
      }

    } catch (SQLException e) {
      resultado = null;
      throw new SQLException(e);
    } finally {
      try {
        if (rs != null) {
          rs.close();
        }
        if (cs != null) {
          cs.close();
        }
      } catch (SQLException e) {
        throw new SQLException(e);
      }
    }

    return resultado;
  }