Você está na página 1de 6

POWER BUILDER

CREACION DE CURSORES POWER BUILDER


DEFINICIN:
Un Cursor, Es Una Tabla Temporal Que Se Puede Crear En Power Builder
Usando La Instruccin SQL Select, En La Cual Podemos Almacenar Todos o
Solo Parte De Los Registros De Una Tabla.

SINTAXIS DE UN CURSOR:
DECLARE: Esta Instruccin Permite Definir El Cursor Que Vamos A Usar En Nuestra
Aplicacin:

Ejemplo:

Declare <Nombre> Cursor For <Instruccin SQL> Using


<Transaccin>;

Nombre
: Es El Nombre Del Cursor Que Se Desea Crear.
Instruccin SQL
: Es La Instruccin Select Que Permite Recuperar Los
Registros De Una Tabla.
Transaccin : Es El Nombre Dela Transaccin Que Esta Usando.

OPEN: Esta Instruccin Permite Abrir El Cursor, Es Decir, Tenerlo Disponible En La


Aplicacin Para Poder Usarlo.

Ejemplo:

Open <Nombre De Cursor>;

Nombre

Cursor

: Es El Nombre Del Cursor Que Se Desea Abrir.

FETCH: Esta Instruccin Permite Leer Un Registro o Fila De Una Tabla


Almacenando Los Datos Ledos En Variables Que Nosotros Le Especificaremos.
Cuando No Hay Registros Por Leer, La Variable SQLCODE, Toma El Valor De 100.

Ejemplo:

Fetch <Nombre De Cursor> Into <Lista De Variables>;

Nombre
Cursor
: Es El Nombre Del Cursor Con El Cual Se
Filtraran Los Datos.
Lista Variables
: Es El Campo o Columna De Una Tabla Por El Cual Se
Listan Los Datos.

NOTA:
Cada Variable De La Lista De Variables Debe Estar Precedida De Dos Puntos (:) y
Separadas Por Punto y Coma (;).
La Cantidad Y Tipos De Variables Que Se Utilizan, Dependen De la Cantidad De
datos Que Se leern De La Tabla.
CLOSE: Permite Cerrar Un Cursor Liberando La Memoria Que Ocupa y
Permitiendo Abrir El Cursor Con Una Nueva Instruccin SQL.
Ejemplo:

Pgina |1

POWER BUILDER

Close <Nombre De Cursor>;

Nombre
Cursor
: Es El Nombre Del Cursor Con El Cual Se
Liberara La Memoria Que Ocupa.

APLICACIN DEMO: CONSULTA DE DATOS CON CURSORES


La Siguiente Aplicacin Nos Permite Realizar Consultas Simples De Empleados Por
Distritos. A continuacin Tenemos La Interfaz:

DDLB_DISTRI
TOS

LV_REGISTRO
S

ST_TOTAL
CODIGO FUENTE
Creando La Funcin: CARGAR_DISTRITOS ()

Creando La Funcin: CARGAR_DISTRITOS ()

Pgina |2

POWER BUILDER

Creando La Funcin: LISTAR_DISTRITOS ()

Creando La Funcin: FILTRAR_EMPLEADOS ()

Pgina |3

POWER BUILDER
Script Del Formulario - Evento OPEN

Script Del Botn CONSULTAR

- Evento Clicked

Script Del Botn LISTAR TODOS

Script Del Botn SALIR

- Evento Clicked

- Evento Clicked

INTERFAZ FINAL:
Consultando A Todos Los Empleados Que Viven En El Distrito De San Juan De
Lurigancho.

Pgina |4

POWER BUILDER

CREACION DE UN DATASTORE POWER


BUILDER
DEFINICIN:
Un Datastore, Es Un Datawindow Que Permanece Oculto Dentro De Una
Aplicacin Permitiendo Que Esta Se Ejecute De Manera Ms Rpida Porque
Evita Estar Ocultando Y Visualizando Un Datawindow Normal.

PASOS PARA LA DEFINIR UN DATASTORE


1) Se Debe De Declarar Una Variable De Tipo DATASTORE, El Cual Representara
Al Datawindow Oculto.
Ejemplo:
DataStore Empleados
2) Luego Se Procede A Crear El Objeto DataStore.
Ejemplo:
Empleado = Create DataStore
3) Ahora Se Procede Asignar el DataWindow Al Objeto DataStore.
Ejemplo:
Empleado.DataObjet = DW_EMPLEADOS
4) Conectar El Objeto DataStore con la Transaccin Que Se Esta Utilizando.
Ejemplo:
Empleado.SetTransObjet(SQLCA)
5) Recuperar Los Registros Del DataStore.
Ejemplo:
Empleados.Retrieve()
6) Utilizar El Ojeto DataStore En Nuestra Aplicacin , Se Utiliza Como Cualquier
Control DataWindow.
Ejemplo:
Empleados.Retrieve()
7) Una Vez Que Ya No Se Necesite El Objeto DataStore, Lo Debe Destruir Para
Recuperar La Memoria Que Estaba Utilizando, Evitando As Que La Velocidad
De Funcionamiento Se Reduzca En Nuestra Aplicacin.
Ejemplo:
Destroy Empleados
Ejemplo De DATASTORE, A Continuacin Se Creara Un DataStore (Empleados),
Contenidos En El Objeto DataWindow (DW_Lista)
Pgina |5

POWER BUILDER

DEMO:
Integer Reg, N
String Nom
DataStore Empleados
Empleados= Create DataStore
Empleados.DataObjet = Dw_Emp
Empleados.SetTransObjet(SqlCa)
Empleados.Retrieve()
Reg = Empleados.RowCount()
For N=1 To Reg
Nom = Empleados.GetItemString (N,Nombres)
Lb_1.Additem(Nom)
Next
Destroy Empleados

NOTA:
La Variable Tipo DataStore,Se Puede Definir Como Global Para Utilizarlo En
Cualquier Ventana De Nuestra Aplicacin.

Diseo De Interfaz Final: Lista De Empleados Con Un DataStore

Pgina |6

Você também pode gostar