Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

MySql y Java Procedimientos almacenados

Estas en el tema de MySql y Java Procedimientos almacenados en el foro de Mysql en Foros del Web. Hola que tal, tengo una duda con MySql y Java En realidad es la misma de este link: http://www.forosdelweb.com/f45/numero-registros-resultset-619372/ Pero no he continuado en el ...
  #1 (permalink)  
Antiguo 04/12/2010, 18:15
 
Fecha de Ingreso: marzo-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
MySql y Java Procedimientos almacenados

Hola que tal, tengo una duda con MySql y Java
En realidad es la misma de este link:
http://www.forosdelweb.com/f45/numero-registros-resultset-619372/
Pero no he continuado en el mismo tema por la antugüedad.
Y mi pregunta es esta:
Como traigo una columna de datos con esta consulta
SELECT id FROM usuarios;
Y al mismo tiempo retorno un valor de tipo entero con esta consulta:
SELECT COUNT(id) FROM usuarios;

Todo esto lo quiero hacer utilizando un procedimiento almacenado(que no se como hacer que mi proc almacenado me devuelva estos dos tipos de datos) en MySql y una vez que me devuelva estas dos consultas procesarlas en java.

Se de antemano que SELECT id FROM usuarios; la debo manejar con un resultSet en java pero no se de que manera asignarla a un array y mucho menos como obtenerla del callableStatement. Una vez que la asigne a un array estos datos los colocare en un JComboBox pero esto no es problema.

En cuanto a SELECT COUNT(id) FROM usuarios; también se que lo debo asignar a una variable y esta haberla declarado como un parametro de salida dentro del procedimiento almacenado.

Y en cuanto al link que menciono me llamo la atención esta parte en la última respuesta:
"puedes obtener la cuenta del conjunto de registros (count(*)) en un parámetro de salida (out) y al mismo tiempo devolver uno o más conjunto de registros."

Les agradecería si me pusieran un ejemplo tanto en el procedimiento almacenado como del lado de Java, gracias.
  #2 (permalink)  
Antiguo 05/12/2010, 05:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: MySql y Java Procedimientos almacenados

Cita:
Se de antemano que SELECT id FROM usuarios; la debo manejar con un resultSet en java pero no se de que manera asignarla a un array y mucho menos como obtenerla del callableStatement. Una vez que la asigne a un array estos datos los colocare en un JComboBox pero esto no es problema.
Bueno, esos son temas de programación en Java y no se tratan en este foro (normas del foro, no se tratan porque para ello existen los foros respectivos, donde las respuestas son más rápidas y mejores). Este punto lo debes preguntar a ellos.
Lo único que te puedo decir, pero ignoro cómo se implementa en Java es que si la ultima sentencia del SP es un SELECT, la salida del mismo es una tabla de datos.

Cita:
En cuanto a SELECT COUNT(id) FROM usuarios; también se que lo debo asignar a una variable y esta haberla declarado como un parametro de salida dentro del procedimiento almacenado.
No puedes asignar la salida de un SELECT que devuelva una tabla a una variable porque no existe el tipo de dato TABLE en MySQL. Si te refieres a que la salida del SP, como dije, la asignas a un array o lo que sea, bueno, eso lo manejas en Java, no en MySQL, y sobre eso solo lo puedes tratar en ese foro.

Cita:
Y en cuanto al link que menciono me llamo la atención esta parte en la última respuesta:
"puedes obtener la cuenta del conjunto de registros (count(*)) en un parámetro de salida (out) y al mismo tiempo devolver uno o más conjunto de registros."
Si te has fijado (no dices qué SP has programado o si conoces la sintaxis de ellos), el prototipo (declaración) de un SP puede tener parámetros, los que pueden ser IN/OUT/INOUT:
Código MySQL:
Ver original
  1. CREATE PROCEDURE proced(IN a INT, IN b VARCHAR(12), OUT c DATE, INOUT d TIME)
  2. /* sentencias */
Las variables del prototipo son variables locales del SP, y pueden devolver valores en las OUT o INOT, pero el método depende del lenguaje.
Lo mejor es acudir al connector /J y ver los ejemplos del manual de referencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 05/12/2010 a las 06:02

Etiquetas: java, procedimiento, almacenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.