Java - Result Set netbeans 6.0

   
Vista:

Result Set netbeans 6.0

Publicado por Ricardo Ruano (5 intervenciones) el 02/04/2008 16:38:15
Hola resulta que tengo un problema para extraer o creo para manejar un resulset,
logro conectarme correctamente y extraer los datos con un preparestatement sobre un resulset
pero solo logro extarer una fila de la base de datos (aunq no estoy muy seguro que si solo es una linea), me explico:

Con el metodo siguiente extraigo datos a un resulset

public ResultSet TraerResultSet(String ProcedimientoAlmacenado) throws SQLException
{
try{
//Se crea el DataSet que luego sera llenado y retornado
comand = conn.prepareStatement(ProcedimientoAlmacenado);
ResultSet mDataSet = comand.executeQuery();
return mDataSet;}
catch(Exception ee)
{
error=ee.getMessage();
return null;
}
}

pero cuando leo los datos del resultset
while(rs.next())
{
//algo de codigo
}
solo entra al while una vez y luego nada se sale el rs.next() me devuelve falso a la siguiente llamada , estoy completamente seguro q el procedimiento almacenado al q llamo devuelve mas de una fila por q lo he confirmado.

¿ME PREGUNTO SI ES NESESARIO CONFGURAR ALGO EB NETBEANS 6.0 PARA ACCEDER AL TOTAL DE DATOS Q EXTRAIGO DE LA BDD, PORQUE CON NETBEANS 5.5 ME FUNCIONA PERFECTO Y EXTRAIA CUALQUIER CANTIDADA DE DATOS CON LAS MISMAS EJEMPLOS INCLUSIVE LA MISMA APLICACION WEB?

Nota: mi bdd es pervasive 10 y no creo q sea ese el problema porque con las aplicaciones q he hecho con .Net extaigo correctamente los datos sobre el DataSet

gracias y salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Result Set netbeans 6.0

Publicado por mario (58 intervenciones) el 02/04/2008 17:01:20
Checate esto:

// Stored procedure to be called.
CallableStatement cs = conn.prepareCall
("{? = call mypackage.p_astoreproc (?,?,?,?,?,?,?)}");

// register input parameters
cs.setString(2, "");
cs.setString(3, "");
cs.setString(4, parms);
// regsiter ouput parameters
cs.registerOutParameter(5, java.sql.Types.CHAR);
cs.registerOutParameter(6, java.sql.Types.CHAR);
cs.registerOutParameter(7, java.sql.Types.CHAR);

// Procedure execution
ResultSet rs = cs.executeQuery();

En lugar de usar Preparedstatement usa CallableStatement que es la interfaz adecuada para invocar funciones y procedimientos almacenados

Saludos comunidad OPen source
Neos Software Inc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Result Set netbeans 6.0

Publicado por Ricardo Ruano (5 intervenciones) el 03/04/2008 00:38:02
ok en este momento le reviso y te aviso
gracias por contestar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Result Set netbeans 6.0

Publicado por Ricardo Ruano (5 intervenciones) el 03/04/2008 17:28:05
hola resulta q he probado y sigue mi resulsset con una fila y a la siguiente nada estoy seguro q mi proc devuelve muchas filas lo he probado con otras aplicaciones pero nada
recordemos que antes si me funciona perfecto con netbeans 5.5

aqui esta mi code

public ResultSet TraerProcedureBusqProductoResultSet(String [] params) throws SQLException
{
try{

CallableStatement cs = conn.prepareCall("{call proc_Busq_Producto (?,?,?)}");
cs.setString(1, params[0]);
cs.setString(2, params[1]);
cs.setString(3, params[2]);
// cs.registerOutParameter(1, java.sql.Types.CHAR);
//cs.registerOutParameter(2, java.sql.Types.CHAR);
//cs.registerOutParameter(3, java.sql.Types.NUMERIC);
//cs.registerOutParameter(4, java.sql.Types.CHAR);
//cs.registerOutParameter(5, java.sql.Types.NUMERIC);

ResultSet rss=cs.executeQuery();
return rss;
}
catch(Exception ee)
{
error=ee.getMessage();
return null;
}
}

trataba de registrar outparameter pero me di cuenta que eso se registra cuando el proc
tiene parametros de salida lo cual no tengo solo devuelve algo asi
este es mi proc por si acaso:

CREATE PROCEDURE proc_Busq_Producto (in :agrupacion CHAR(15), in :producto char(40), in :CcmaeLista CHAR(2))
Returns(
IartCodigo CHAR(15),
IartDesc1 CHAR(40),
FprePventa NUMERIC(13,4),
IartMedida CHAR(2),
IartActual NUMERIC(15,2)
);
begin
SELECT
IartCodigo ,
IartDesc1 ,
FprePventa ,
IartMedida ,
IartActual from Invart art , facpre pre where
(art.IartCodigo = pre.FpreCodigo and pre.FpreLista= :CcmaeLista )and
(IartCodigo like :agrupacion and IartDesc1 like :producto);
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Result Set netbeans 6.0

Publicado por mario (58 intervenciones) el 03/04/2008 18:16:56
Checat este link

http://www.enterprisedt.com/publications/oracle/result_set.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Result Set netbeans 6.0

Publicado por JAVIER (2 intervenciones) el 29/10/2008 19:38:55
Hola me pasa algo curioso a la hora de moverme por un resulset que es el resultado de una consulta no me deja moverme a no ser con el next, ni hacia detras ni a una posicion especifica, alguien me dice como resolver esto disculpen es que siempre he trabajado cpon C++, gracias.

en si el error es

int N = 1;
resultat_ped.absolute(N);

Operación incorrecta en el juego de resultados de només reenvio: absolute
e probado llamara a la funcion previus y tampoco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

con select ok

Publicado por Ricardo Ruano (5 intervenciones) el 03/04/2008 17:57:12
ok eh probado esto
public ResultSet TraerProcedureBusqAgrupResultSet() throws SQLException
{
try{

comand=conn.prepareStatement("select IparCodigo , IparDesc1 from INVPAR WHERE IparRecord='41'");
ResultSet rss=comand.executeQuery();
return rss;
}
catch(Exception ee)
{
error=ee.getMessage();
return null;
}
}

y obtengo todos los registros en pantala maravilloso pero no desde el punto de vista tecnico porq todos sabemos sobre el grave error de poner sentencia sql en el codigo
es decir siempre hay q llamar procs y funciones
entonces imagino que esta por default en el result set o el PreparedStatement o CallableStatement traer un solo registro , esto debe ser editable pero donde carajos esta
espero q esto ayude a alguien mas pues ya puse uno q otro codigo medio bueno para debatir
gracias..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:con select ok

Publicado por mario (58 intervenciones) el 03/04/2008 18:19:00
NO comparto tu idea de colocar todo lo de SQL en stores o funciones, t lo digo por experiencia en un proyecto de Telefonica Movistar utilizan esta tecnica y creeme que estan vueltos locos.

Si bien es cierto el SQL y la programacion OO son mundos distintos se pueden conjuntar de una manera transparente como lo es:

-> Uso del patron DAO
-> Uso de frameworks que controlen la persistencia como Hibernate o iBatis.

O que opinan ustedes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:con select ok

Publicado por Luis CAstro (80 intervenciones) el 05/04/2008 01:40:48
YO no puedo opinar que nunca he usado una DAO ¿ni se que es?
todo lo que se de base de datos y conexiones lo he aprendido por mi cuenta de manera autodidacta y entiendo que debo de tener fallas y aciertos.
Espero que sea mas de lo segundo

Pero me gustaria empezar a utilizarla tienes algo donde puede empezar a leer.

Algunos ejemplo o clase si se puede compartir el conocimiento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimi8ento y funciones

Publicado por jakelin (1 intervención) el 06/06/2008 23:08:53
ejemplos de procedimiento y funciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Result Set netbeans 6.0

Publicado por garso (1 intervención) el 01/10/2010 15:53:14
Pi!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar