generatedKeys, jdbc: no logro obtener llaves generadas

From: Roberto Rodríguez Pino <rodpin(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: generatedKeys, jdbc: no logro obtener llaves generadas
Date: 2008-06-08 08:15:26
Message-ID: 1212912926.2719.10.camel@pitufo
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos!
Es mi primer mensaje a esta lista y obviamente con una pregunta. Espero
no quedar fuera de tema.
Estoy haciendo una aplicacion en java y accedo a la base de datos usando
JDBC, pero necesito ocupar el valor de una llave que fue generada
automaticamente (serial).
En java estoy ocupando el metodo getGeneratedKeys(propia de jdbc) que me
debiera entregar las llaves que se crearon tras las llamada que hago a
una funcion de postgres.
Un extracto del codigo en java es:

String stringConsulta = "select ingresarVoucherEntrada(?,?,?,?)";
CallableStatement consulta = conexion.prepareCall(stringConsulta);
java.sql.Date fechaSql = new Date(fechaemision.getTime());
consulta.setInt(1, idempleado);
consulta.setInt(2, idproveedor);
consulta.setDate(3, fechaSql);
consulta.setInt(4, documentoAsociado);
consulta.executeQuery();

llaveGenerada = consulta.getGeneratedKeys();
if (llaveGenerada.next()){
int key = llaveGenerada.getInt(1);
System.out.println("llaves: "+key);
}
else{
System.err.println("No tengo una llave!.");
}

Y obviamente siempre esta entran al else.

La funcion que tengo en postgres es;

CREATE OR REPLACE function ingresarVoucherEntrada( _idEmpleado "int4",
_idProveedor "int4", _fechaEmision"date", _documentoAsociado"int4")
returns void as $$

BEGIN
insert into voucherEntrada (idEmpleado, idProveedor, fechaEmision,
docuementoasociado)
values (_idEmpleado, _idProveedor, _fechaEmision,_documentoAsociado)
;
END
$$LANGUAGE 'plpgsql' VOLATILE;

Estoy haciendo algo mal con el metodo getGeneratedKeys? Tiene algo malo
la funcion que hice en postgres? Existe otra manera de obtener las
llaves que se generaron automaticamente?

Muchas gracias por los comentarios.
--
visita mi weblog!
http://trasto.hopto.org/weblog
softwarelibre(at)diinf
http://softwarelibre.diinf.usach.cl

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-06-08 13:50:54 Re: generatedKeys, jdbc: no logro obtener llaves generadas
Previous Message Raúl Andrés Duque Murillo 2008-06-08 07:46:28 Re: Procedure para actualizar secuencias