Store Procedure

Como puedo pasar datos a un store procedure, realizado en sql server, estoy usando POWER BUILDER 10.
Así mismo como puedo recuperar datos de un store procedure.
Si pueden darme un pequeño ejemplo se los agradecería mucho.
Respuesta
1
Tengo dos opciones que pueden ser utilices:
La primera es declarar el procedimiento almacenado en power builder y recuperar el resultado del procedimiento almacenado en un dataStore o en un datawindow.
Por ejemplo en Northwind tienes el procedimiento almacendado CustOrderHist que pide un parámetro de entrada, el código para recuperar el resultado en un DDLB es:
------------------
//define parametro de entrada
string parametro
string campo1, campo2
//Llenamo el parámetro de entrada con un valor de la base (esto para fines de este ejemplo)
parametro = 'ALFKI'
//Declaramos el procedimiento almacenado
//hacemos referencia al nombre del proc almacenado en la base de datos northwind.
DECLARE CustOrderHist PROCEDURE FOR CustOrderHist @CustomerID = :parametro Using SQLCA;
//ejecutamos el proc almacenado
EXECUTE CustOrderHist;
// el resultado se almacena en el cursor
FETCH CustOrderHist into :campo1, :campo2 ;
//Si existen datos deposita el resultado en las variables campo1 y campo2 y avanza el cursor.
DO WHILE SQLCA.sqlcode = 0
//llenamos el ddlb con campo1
ddlb_1.additem( campo1)
//leeos y avanzamos el cursor
fetch CustOrderHist into :campo1, :campo2 ;
LOOP
La segunda un poco más practica y sencilla de crear un datawindow basado en un procedimiento almacenado. Para la segunda solución realiza lo siguiente:
1. Selecciona Inicio
2. Selecciona data Window
3. Elige el tipo de datawindow donde deseas capturar tu resultado (grid o fredom).
4. Luego En fuente de datos elige STORED PROCEDURE
5. Selecciona el procedimiento almacenado.
6. Guardas el data window
7. En power Builder en la linea de codigo llamas el data window pasando el parametro:
dw_1.SetTransObject(SQLCA)
dw_1.retrieve('parametro')

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas