JAVA Y ORACLE

Mar?
25 de Mayo del 2004
Hola a todos, me encuentro en un callejon sin salida, os cuento.

Necesito sacar por pantalla el contenido de una consulta sql, hasta ahí facil, tomo el resulset y con esta función saco todo:

public String muestraResultados(ResultSet r) throws misExcepciones
{
String texto="n";
try
{
ResultSetMetaData rSMD = r.getMetaData();
int numeroCampos = rSMD.getColumnCount();
for (int i=1; i<=numeroCampos; ++i)
{
if (i<numeroCampos)
texto += rSMD.getColumnName(i) + " ----- ";
else
texto += rSMD.getColumnName(i);
}
texto += "n";
while(r.next())
{
for (int i=1; i<=numeroCampos; ++i)
{
if (i<numeroCampos)
texto += r.getString(i) + " -------------- ";
else
texto += r.getString(i);
}
texto += "n";
}
}
catch (SQLException e)
{
throw new misExcepciones("error al cambiar el resultSet: "+ e.getMessage());
}
return texto;
}

Llegados a este punto me doy cuenta de lo siguiente.

Todo esto funciona correctamente EXCEPTO cuando uso constraints. Es decir tengo la siguiente tabla:
CREATE TABLE kk
( NUMERO INTEGER NOT NULL,
CONSTRAINT CL_kk PRIMARY KEY (NUMERO)
); y la siguiente consulta

Select * from kk;

Pues por el hecho de de tener un constraint sólo me saca por pantalla el nombre de su campo, y a la hora de poner las distintas tuplas ( he hecho varios inserts) no sale nada, me devuelve resultSet vacío!!!!

Y lo más curioso (para mi) cuando lo hago directamente sobre la BD( por medio de ORACLE SQL* PLUS) me saca bien el resultado!!!

Alguna idea???

Muchas gracias aunque solo sea por leer mi parrafada.

Un saludo!!

María (Zaragoza)