Sunteți pe pagina 1din 4

Procedimientos Almacenados con Netbeans

Hola, estoy haciendo una aplicacin en netbeans 6.8, y almaceno informacin en una BD en SQL Server 2008.. Para hacer consultas a la BD utilizo procedimientos almacenados.. Hasta ahora los procedimientos que hice, me dovolvian un solo registro de una tabla, pero ahora necesitos hacer uno que me devuelve mas de un registro y no se como hacerlo. Tengo una tabla q se llama CategoriasEI, y necesito guardar esas categoras en un JComboBox, para poder mostrrselas al usuario.. El procedimiento que cree es este: --Devuelve todas las categorias correspondientes al tipo de operacion pasado por parametro. CREATE PROCEDURE [dbo].[pa_getCategoriasEI] @idTipoOp int AS BEGIN SET NOCOUNT ON; SELECT CategoriaEI.nombre FROM CategoriaEI WHERE idTipoOperacion = @idTipoOp END

Codigo Netbeans: //Conecto con la BD.. Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver"); con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=Nom breBD;user=us;password=p ass"); //Llamada al procedimiento. CallableStatement param; //Variable q uso para llamada al prcedimiento. param = con.prepareCall("{call dbo.pa_getCategoriasEI(?, ?)}); //Llamo al procedimiento "pa_getCategoriasEI" param.setInt(1, 1); //Setea el parmetro que recibe la consulta, q es un id

param.registerOutParameter(2, java.sql.Types.INTEGER); //Aca setea el parametro de salida, q es un string. param.execute(); //Se ejecuta el procedimiento param.getString(1); //Tomo el resultado de la consulta, en este caso seria un string, pero como me devuelve mas de un registro deberia ser otro tipo de dato, pero no se cual es.. Cdo lo ejecuto, funciona, me devuelve varias filas.. Pero no se donde se almacena ese resultado, y como tomarlo en Netbeans para guardarlo en el JComboBox.. Espero que se haya entendido, y cualquier duda me pregunten.. Saludos! Avisos Google

SQL Download
Security, Caching, Auditing&Masking Real-time Protection, Try Now! Download.GreenSQL.com/free-trial
#2 (permalink) 02/09/2011, 08:17

HackmanC

Fecha de Ingreso: enero-2008 Ubicacin: Guatemala Mensajes: 1.464

Respuesta: Procedimientos Almacenados con Netbeans

Hola,
Cita:

Iniciado por orne param = con.prepareCall("{call dbo.pa_getCategoriasEI(?, ?)}); //Llamo al procedimiento "pa_getCategoriasEI" ... param.registerOutParameter(2, java.sql.Types.INTEGER); //Aca setea el parametro de salida, q es un string. ... param.getString(1); //Tomo el resultado de la consulta, en este caso seria un string, pero como me devuelve mas de un registro deberia ser otro tipo de dato, pero no se cual es.. El procedimiento almacenado que mostraste no tiene definido ningn parmetro de salida OUTPUT y solamente tiene definido un parmetro de

entrada. {call dbo.pa_getCategoriasEI(?)}


Cita:

Iniciado por orne ResultSet result = param.executeQuery(); //Se ejecuta el procedimiento El valor devuelto por ese procedimiento almacenado es un ResultSet, una consulta normal a la base de datos. Saludos,
#3 (permalink) 02/09/2011, 08:34

orne
Antes q nada, Gracias por responder!

Fecha de Ingreso: septiembre-2011 Mensajes: 20

Respuesta: Procedimientos Almacenados con Netbeans

Si, es verdad me falto poner el arametro de salida, lo que pasa que fui cambiandolo para ir probando, y no me di cuenta que me fataba eso.. Bueno voy a probar con eso.. Gracias por tu ayuda.!
#4 (permalink) 02/09/2011, 09:02

orne
Ya lo resolvi, como me dijiste Cita: ResultSet result = param.executeQuery(); Y desp lo guardo en el combo:
Cita:

Fecha de Ingreso: septiembre-2011 Mensajes: 20

Respuesta: Procedimientos Almacenados con Netbeans

if(result.next()){ do{ comboCategoria.addItem(result.getString("nombre")) ; } while(result.next()); } Muchas gracias por tu ayuda!

Saludos!

S-ar putea să vă placă și