Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CURSO
: COMPUTACIN II
INTEGRANTES:
DOCENTE
CICLO
: III
INDICE
Data Store
Qu es Data Store?
Ejemplo de Data Store
Por qu y cundo se utiliza Data Store?
Cursores
Qu es un cursor?
Sentencia en el uso de cursores
Ejemplo de cursores
Sintaxis de un cursor
Declarar un cursor
Impresiones
Qu es una impresin?
Funciones de impresin
En la aplicacin
Linografia
DATASTORE
El DataStore es un control DataWindow no visual, la ventaja principal de usar un
DataStore frente a un DataWindow es que consume menos recursos, por ende es ms
eficiente en recuperar datos.
La manipulacin de un DataStore es similar a un DataWindow. En el siguiente ejemplo
dejo el cdigo para declarar y recuperar datos usando un DataStore.
DataStore ds_prueba //Declara variable del tipo DataStore
ds_prueba=Create DataStore //Se Instancia la variable
ds_prueba.DataObject="dw_authors" //Se establece el objeto DataWindow
ds_prueba.SetTransObject(SQLCA) //Se conecta a la BD
ds_prueba.Retrieve() //Recupera la informacin
DESTROY ds_prueba
Ejemplo:
Vamos a recuperar datos dentro de un DataStore, para imprimirlo.
datastore lds_dstore
lds_dstore = CREATE datastore
lds_dstore.DataObject="d_Empleado"
lds_dstore.SetTransObject (SQLCA)
lds_dstore.Retrieve()
lds_dstore.Print() //Imprimimos:
Destroy lds_dstore //No olvides destruirlo
CURSORES
El cursor bsicamente lo que hace es recorrer todos los registros devueltos por una
consulta sql, el cual lo recorremos mediante bucles una vez abierto el cursor.
Sentencias en el uso de cursores.
FETCH, Permite leer una fila o registro de una tabla y almacena los valores de
una fila del cursor en las variables que nosotros lo definamos.
EJEMPLO CURSORES
3
Un Cursor un PB es una forma muy util para procesar un set de resultados registro por
registro.
string depto
string empleado
string nombre
DO WHILE SQLCA.sqlcode = 0
FETCH dept_curs INTO :depto, :empleado;
end if
end if
LOOP
CLOSE dept_curs;
SINTAXIS DE UN CURSOR
DECLARE <nombre_cursor> CURSOR FOR
SELECT <columna 1>,
<columna 2>,
....
FROM <tabla 1>,
<tabla 2>,
etc....
WHERE <condicion>
USING <objeto de transaccion>;
Ejemplo:
Datos:
SELECT A.campo1, b.campo2
FROM tabla1 a, tabla2 b
WHERE tabla1.campo = tabla2.campo INTO cursor X
En el script
DECLARE cursor_x CURSOR FOR
SELECT a.campo1, b.campo1
FROM tabla1 a, tabla2 b
WHERE (a.campo = b.campo)
USING SQLCA;
Por lgica los valores seleccionados en el script, debern ser asignados a variables del
mismo tipo.
El fetch actualiza los valores.
DECLARAR UN CURSOR
Ejemplo:
DECLARE c1 CURSOR FOR
SELECT cod_testigo, nombre
FROM Testigo;
Crea un cursor (lista) llamado c1, el cual est formado por 2 campos cod_testigo, y
nombre de la tabla testigo.
FETCH NEXT Cursor | Procedure INTO HostVariableList
Recorre el cursor (lista), este recorrido se lo hace de forma secuencial.
Cursor: Nombre del cursor que se recorrer.
HostVariableList: Las variables en las cuales se almacenaran los campos de la lista que se
est recorriendo.
Ejemplo:
integer i,n,cod
string nom
DECLARE c1 CURSOR FOR
SELECT cod_testigo, nombre
FROM Testigo;
SELECT count(*)
INTO :n
FROM testigo;
OPEN c1;
for i= 1 to n
FETCH NEXT c1 INTO :cod, :nom;
sle_1.text=string(cod)
sle_2.text=nom
next
CLOSE c1;
Se crea el cursor, se cuenta el nmero de registros, se abre el cursor, y se recorre el cursor
(lista), luego se presenta cod, nom, y se lo presenta en pantalla, al final se cierra el cursor.
IMPRESION
Esta funcin se utiliza cuando queremos enviar el contenido de un datawindows a la
impresora.
Podemos usar las diferencias funciones:
Modify(string).- Modifica especificaciones sobre DataWindows, estas especificaciones son
cambiadas o pueden ser cambiadas desde un scrip cualquiera, puede aadir quitar objetos
del DataWindow, para proveer especificaciones que el usuario desee o requiera.
Ejemplo:
dw_1.modify("datawindow.print.preview.zoom=" + &
string(integer(dw_1.describe("datawindow.print.preview.zoom")) + 10))
El ejemplo pone el zoom del DataWindow maestro en un 10 % es decir se puede
incrementar o decrementar el Zoom del datawindow, esto se lo usa especialmente en los
reportes de tipo COMPOSITE, que son aquellos que sirven para la presentacin de
reportes escritos o en pantalla.
print()
Imprim lo que se encuentra en el DataWindow.
ejemplo:
dw_maestro.print()
Modify(cadena)
Modifica las propiedades asociadas a un DataWindow, puede adicionar o mantener
objetos del DataWindow
Ejemplo.- Datrawindow imprime
imprime=dw_2
imprime.modify("datawindow.print.copies = " + "2")
Determina que el nmero de copias que sern impresos es 2 cuando se imprima el
datawindow mediante el comando print.
EN LA APLICACIN
VENTANA DE INGRESO
DE EMPLEADOS
CREACION DEL
DATASTORE usuario,
en el evento Open de la
ventana Seguridad
Comparamos la clave
ingresada con la base de
Datos, y luego destruimos
en DataStore.
Ventana Bsqueda de
Prendas, utilizando
Cursores.
Creamos el cursor
CURSOR1, en el evento
Open de la ventana
w_busqueda_rapida.
10
11
12
Para el uso de
impresiones, creamos
ventanas de reporte
tanto para
empleados,
proveedores y
productos.
13
CommandButton Zomm:
Aumenta y reduce la visin del
documento, con un 10%.
14
CommandButton Imprimir:
Manda el documento a la
impresora.
DropDownListBox Orientacin:
Es la opcin de manipular la
orientacin del documento
(Horizontal o Vertical)
CommandButton Copiar:
Permite considerar el nmero
de documentos a imprimir,
ingresados en el sle_1.
15
LINKOGRAFA
http://www.lawebdelprogramador.com/foros/Power_Builder/27429CURSORES_EN_PB.html
http://es.scribd.com/doc/6878574/Powerbuilderuso-de-Cursores
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/powerbuilder/respuestas/638245/creacion-de-cursor
http://sourcepy.blogspot.com/2011/12/como-declarar-y-usar-cursor-en-power.html
http://www.lawebdelprogramador.com/foros/Power_Builder/1321619Crear_Datastore.html
http://www.lawebdelprogramador.com/foros/Power_Builder/512601COMO_TRABAJAR_CON_DATASTORE.html
http://www.lawebdelprogramador.com/foros/Power_Builder/426479-Impresion_dw.html
16