Mostrando entradas con la etiqueta PowerBuilder. Mostrar todas las entradas
Mostrando entradas con la etiqueta PowerBuilder. Mostrar todas las entradas

Ejecutar Procedimiento Almacenado en PowerBuilder


En el ejemplo mostrare como ejecutar un Procedimiento Almacenado de SQL Server desde PowerBuilder.

Mostraremos tres escenarios distintos:

1. Cuando el Procedimientos Almacenado devuelve uno o más parámetros de salida también llamado parámetro OUTPUT.

2. Cuando  devuelve un conjunto de resultados producto de una sentencia select.

3. El tercero y más simple, cuando el Procedimiento Almacenado no tiene parámetro alguno.

Escenario 1: Cuando el Procedimiento Almacenado devuelve valor mediante variables OUTPUT.

Primero definimos el código del Procedimiento Almacenado, el cual su función es devolver el producto de la multiplicación del valor de parámetro1 y el valor de PI que es 3.1416.

Ojo, devemos definir el parametro de retorno como OUTPUT


CREATE PROCEDURE usp_escenario1 @parametro1 INTEGER,@parametro2 DECIMAL(18,2) OUTPUT
AS
BEGIN
      SET @parametro2=@parametro1 * 3.1416
END

En la cuadro siguiente el código de PowerBuilder usado.



Integer Valor
Decimal Resultado

Valor=10

//Considerar que las variables que se pasen deben ser del mismo tipo
//definido en el procedimiento almacenado

DECLARE  sp_procedure PROCEDURE FOR usp_escenario1
@parametro1 = :Valor,
@parametro2 = :Resultado OUTPUT; //Ojo definir el parametro2 como OUTPUT.


EXECUTE sp_procedure; //Ejecutamos con el nombre del Alias

FETCH sp_procedure INTO :Resultado; //Recuperamos el resultado

CLOSE sp_procedure;

messagebox("",Resultado)



Escenario 2 y Escenario 3: Cuando devuelve un conjunto de resultados producto de una sentencia select y cuando el procedimiento no tiene parámetros, como diría mi abuela aquí matamos dos pájaros de un tiro, abordando los dos últimos escenarios restantes.

Para una mejor manipulación de los resultados devueltos por un Procedimiento Almacenado es aconsejable realizarlo mediante un DataWindow, pero eso será tema de otro artículo.

Definimos el código del Procedimiento Almacenado, el cual no pasamos ningún parámetro simplemente ejecutamos el procedimiento y recuperamos el conjunto de resultados.




CREATE PROCEDURE usp_escenario2_3
AS
BEGIN
      CREATE TABLE #cliente
      (
        codigo int,
        nombre varchar(15)
      ) 
     
      INSERT INTO #cliente VALUES(1,'PEPE')
      INSERT INTO #cliente VALUES(2,'JUAN')
      INSERT INTO #cliente VALUES(3,'MARIA')
     
      SELECT codigo,nombre FROM #cliente
END


En la cuadro siguiente el código de PowerBuilder usado.



Integer codigo
String  nombre

//Considerar que las variables que se pasen deben ser del mismo tipo definido en
//el procedimiento almacenado

DECLARE sp_procedure PROCEDURE FOR usp_escenario2_3;

EXECUTE sp_procedure; //Ejecutamos con el nombre del Alias

FETCH sp_procedure INTO :codigo,:nombre; //Recuperamos el resultado

DO WHILE sqlca.sqlcode = 0
      Messagebox("Resultado",string(codigo)+" " +nombre)
      FETCH sp_procedure INTO :codigo,:nombre;
LOOP
CLOSE  sp_procedure;


Articulos de apoyo:
Conexión a SQL Server
Conexion a SQL Server mediante OLE DB




¿Por qué y para qué es bueno PowerBuilder?


PowerBuilder
En algún momento nos hemos hecho la misma pregunta, ¿Que es PowerBuilder?, ¿Para que sirve PowerBuilder?, o también, ¿Es bueno PowerBuilder?, pero antes de nada un poco de historia.

PowerBuilder fue desarrollado hace ya muchos años atrás, en los años 1991 bajo el mando de la compañía PowerSoft lanzando la versión 1.0, la versión 2.0 fue lanzada en 1992, en esta versión PowerBuilder incluye la herencia y encapsulación, haciendo de PowerBuilder un lenguaje netamente orientado a objetos.  En 1995 PowerSoft fue adquirida por la compañía Sybase, lanzando las versiones sucesoras.

PowerBuilder es una herramienta empresarial, para arquitecturas  cliente/servidor , distribuida y web, orientado completamente a objetos, adicionalmente PowerBuilder posee un objeto nativo para la gestión y manipulación de datos llamado DataWindow el cual nos permite Insertar, Actualizar, Eliminar datos, adicionalmente nos permite visualizar los datos en múltiples formatos y vistas según la necesidad.

El objeto DataWindow se ha convertido en la piedra angular de PowerBuilder, hace que el trabajo con datos sea realmente sencillo, donde el programador con pocas líneas de código pueda tener una interfaz de usuario con validación y actualización de datos en minutos, haciendo más productivo la etapa de desarrollo.

Desde mi punto de vista PowerBuilder es por excelencia el mejor Lenguaje de Programación para desarrollar herramientas y sistemas empresariales para la gestión de datos, este es quizá su punto fuerte y donde mejor se desempeña.

He leído en la página de Sybase donde indica que PowerBuilder es un lenguaje de programación de propósito general, pero a mi modo de ver no es así, PowerBuilder no es recomendable para desarrollar aplicaciones de uso general, donde PoweBuilder es experto e idóneo, y como ya lo mencione es en la Gestión de Datos, es ahí donde PowerBuilder es la mejor elección.