You are on page 1of 20

Computación II Ing.

Sistemas e Informática Datawindows

DATAWINDOWS
Un datawindows es una sentencia SQL que está ligada a una representación gráfica, donde cada elemento
de esta representación es individualizable y puede ser alterado en el código del programa.
Esta definición indica dos elementos unidos:
a. Origen de Datos:
Corresponde a la sentencia SQL, la que podrá tener características de Agrupamiento, Ordenamiento,
Condicionales (extraer un conjunto definido de registros).
b. Presentación:
Corresponde a la distribución gráfica de los elementos de la consulta y otros añadidos, dentro de
un área definida para ello. La que podrá ser utilizada para presentar datos, ingresar datos,
listarlos o imprimirlos; tal y como aparecen en esta hoja.

Selección Tipo y Presentación

Para trabajar con las Datawindows presione el botón , luego de lo cual aparecerá la ventana de
selección; podrá seleccionar una ya existente, para modificarla, o presionar el botón ‘New’ para crear
una nueva Datawindows.
Si presiona el botón ‘New’ deberá seleccionar el modo de trabajo para el ‘Origen de datos’ y también el tipo
de ‘Presentación’.

Modos de trabajo:
El modo de trabajo define como se trabajara con el Origen de Datos. Existen 5 tipos de Modos de trabajo

Modo Descripción
No presenta las tablas en forma gráfica, y solo permite las sentencias
ordinarias de SQL (Sort y Criterio). La primera para poder ordenar por el
Quick Select campo especifico y la segunda para indicar registros a mostrar
pedendiendo de una valor condicional.

Presenta las tablas en forma gráfica, y permite trabajar con todas las
características de Sql estándar (Sort, Group, Having, Compute y Where,
Sql Select
entre otros)
Computación II Ing. Sistemas e Informática Datawindows
El origen de Datos es una Consulta definida previamente en el Area de
Trabajo Query; esta consulta queda almacenada como un objeto de
Powerbuilder; Ud. debe seleccionar la consulta que desee utilizar como
Query
Origen de Datos de este Datawindows.

El origen de datos no esta relacionado con ninguna Tabla. Ud. debe


definir los campos que interactúan (nombre, tipo y largo) Utilice los
botones ‘Add’ para añadir un nuevo campo al final de los ya existentes, el
External botón ‘Insert’ le permitirá insertar un campo entre otros y el botón
‘Delete’ le permitirá eliminar el campo actual.

El origen de datos es un procedimiento que ha sido almacenado en la


Stored
Base de Datos. Seleccione uno si lo ha creado, o créelo previamente.
Procedure

Tipos de presentación
El Tipo de presentación define como se presentaran los datos en el DataWindows, existen 11 tipos de
presentación las que son:

Presentación Descripción
Composite Utiliza como presentación un reporte previamente creado.

Freeform La presentación es libre, donde cada campo esta en una línea


distinta. Muy utilizado para el ingreso de datos.
Computación II Ing. Sistemas e Informática Datawindows
Graph Diseña un gráfico dependiendo de una consulta, esta debe
contener datos relacionados.
Grid Diseña una malla de datos en forma columnada, y cada columna
con una justificación completa.
Group Diseña listado por agrupación de campos. Muy
utilizado para reportes de resumen de información.
El diseño es de etiquetas, donde Ud. podrá elegir el tipo de
etiqueta de las prediseñadas, en papel
continuo o separado, y otras opciones.
Rich Text Permite definir una carta con combinación de campos del Origen
de datos fijado. Se pueden utilizar todas las características del
formato de texto RTF.
Tabular Presenta el origen de datos en forma columnada pero sin ajuste
total. Permite una mayor libertad en el diseño.

Origen de Datos
Después de presionar ‘Ok’ en la ventana, aparecerá una ventana de la cual se debe(n) seleccionar la(s)
Tabla(s) que estarán involucradas en el Datawindow, si este es nuevo.

Se termina la selección presionando el botón Open y si desea cancelar la selección presione el botón
Cancel, luego de lo cual aparecerá en forma gráfica la(s) Tabla(s) y también las relaciones existentes
entre ellas.

Si se deseara añadir nuevas tablas presione el botón y selecciónela(s).

Si se deseara extraer una tabla del Origen de datos, presione el botón derecho del mouse sobre la
representación gráfica de la Tabla y seleccione la opción Close.
Para seleccionar los campos simplemente haga un clic sobre su nombre en la representación
gráfica de cada Tabla, aparecerá en forma enmarcada, si desea desmarcarla simplemente vuelva a
hacer un clic sobre esta.
Computación II Ing. Sistemas e Informática Datawindows
Utilización
El objeto datawindows en si no es de ninguna utilidad, si no se vincula con un objeto Datawindow
control. Este objeto, es visual y es posible de insertar directamente en una ventana; para que
pueda ser utilizado por el usuario.

Objeto Datawindow Control


El objeto Datawindow Control se selecciona del listado de objetos que se pueden insertar en

una ventana, simplemente haga un clic sobre el icono

Luego haga un clic en la posición, en la ventana, donde desea poner el Datawindow control.

Haga doble clic sobre el objeto Datawindows que esta ahora en la ventana, o bien presione el botón,
teniendo seleccionado el objeto, para ver las propiedades que posee.

Propiedades del Objeto:


Propiedad Descripción
Name Es el nombre que tendrá el objeto Datawindow Control.

Datawindow Escriba el nombre del objeto Datawindow que será


mostrado en este Datawindow control. Para seleccionar un
Datawindow presione el botón "Browse".
Title Escriba el texto que aparecerá en la barra de titulo, si esta marcada
la opción ‘TitleBar’.
TitleBar Si esta opción esta marcada, el texto que este en la caja ‘Title’ se
mostrara como una barra de titulo.
Control Si esta opción está marcada, permite que el Datawindow Control, sea
Menu un objeto flotante (pudiendo moverse) dentro de los limites de la
ventana que lo contiene.
Maximize Permite que el Datawindow control, presente los
box botones Maximizar y Minimizar, respectivamente.

Minimize
box

Manejo de Datawindow Control


Para hacer uso del Datawindow Control en tiempo de ejecución es necesario indicar que objeto de
transacción será utilizado por el Datawindow para presentar la información definida en el. Esto se hace,
Computación II Ing. Sistemas e Informática Datawindows
con la siguiente función:

<nom Dw>.SetTransObject(<obj transac>)


Donde:
• <nom Dw> es el nombre del Datawindow Control.
• <obj transac> es el objeto de transacción, por defecto utilice SQLCA.

Esta sentencia debe escribirse antes de hacer uso del Datawindow Control, normalmente se pone en
el Evento "Open" de la ventana que contiene al Datawindow Control.
Ej.
dw_inicio.SetTransObject( sqlca )
• Para obtener datos de la Base de Datos, y mostrarlos en el Datawindow Control, se utiliza la
siguiente función:
<nom Dw>.Retrieve (<lista parametros>)
Donde:
• <nom Dw> es el nombre del Datawindow Control.
• < lista parámetros >, si para el Origen de Datos’ (del Datawindow), se definieron argumentos,
deben listarse los valores a utilizar por cada uno en el mismo orden en que fueron definidos y
separados entre si por una coma. Los argumentos se escriben como literales, sin comillas para los
argumentos de tipo texto.
Ej.
dw_nuevo.Retrieve( Contabilidad, sle_edad.text )

Para modificar en tiempo de ejecución el datawindow que esta vinculado al Datawindow Control,
utilice la siguiente función:

<nom Dw>.DataObject = ‘<nombre obj Dw>)’


Donde:

• <nom Dw> es el nombre del Datawindow Control.


• < nombre obj Dw >, es el nombre de un objeto Datawindow definido. Si el objeto
Datawindow vinculado al Datawindow Control, es necesario nuevamente, indicar el objeto de
transacción que se utilizara para este Datawindow y volver a ocupar la función Retrieve, para
obtener los datos de esta nuevo Datawindow.
Ej.
dw_nuevo.DataObject= ‘d_otro’

Funciones para el manejo:


Computación II Ing. Sistemas e Informática Datawindows

Añadir
Para añadir un nuevo registro se utiliza la siguiente función:
<nom Dw>.InsertRow(<pos>) Donde:
• <nom Dw> es el nombre del Datawindow Control.
• <pos> Es la posición, dentro del número de registros mostrados en el Datawindow
Control, donde se insertara el nuevo registro. Si <pos>= 0, añade un registro al final de
los ya existentes. El añadir un registro, para ser llenado los datos de los campos por el
usuario, no implica que el foco se mueva a este nuevo registro.

Ej. dw_nuevo.InsertRow(1)

Eliminar
Para eliminar un registro debe conocer cual es la posición, dentro del número de registros
mostrados en el Datawindow Control, del registro a eliminar.

Esto se hace, con la siguiente función:

<nom Dw>.DeletedRow(<pos>) Donde:


• <nom Dw> es el nombre del Datawindow Control.
• <pos> es la posición del registro a eliminar. Si desea Eliminar el registro donde está el foco
(cursor actualmente), utilice la siguiente función:
<nom Dw>.GetRow( )

Ej.
dw_nuevo.DeletedRow( dw_nuevo. GetRow( ) )

Buscar
Permite buscar un registro, dentro de los listados en el Datawindow Control, que coincida con
la expresión definida. Para esto utilice la siguiente función:
<nom Dw>.Find(<expre cond>) Donde:
• <nom Dw> es el nombre del Datawindow Control.
• < expre cond > es una expresión que se escribe igual que una expresión Where. Esta función
devuelve la posición del registro que cumpla con la condición, o un cero si no encuentra ninguno.

Ej.
integer pos
pos= dw_nuevo.Find("rut= ‘" + sle_rut.text + "’")
Computación II Ing. Sistemas e Informática Datawindows

Filtrar Registros
Esto significa que del conjunto de registros que muestra el Datawindow Control en forma habitual,
solo se mostraran los que cumplan con cierta condición. Quedando los otros invisibles, pero presentes en
el Datawindow Control. Para esto posee de dos funciones, la primera para definir una filtro, y la segunda
para ejecutar el filtrado definido.

Definir Filtro: Si desea modificar el filtro definido en la "Presentación" del Datawindow, o crear un
nuevo filtro, utilice la siguiente función:

<nom Dw>.SetFilter(<expre cond>) Donde:


• <nom Dw> es el nombre del Datawindow Control.
• < expre cond > es una expresión que se escribe igual que una expresión Where.

Ejecutar Filtro: Para realizar el filtrado en el Datawindow Control, utilice la siguiente función:

<nom Dw>.SetFilter( )
Donde: <nom Dw> es el nombre del Datawindow Control.

Ej.
dw_nuevo.SetFilter("Edad>21")
dw_nuevo.SetFilter( )

Actualizar Base de Datos


Debe indicársele que traspase la información modificada/eliminada/ actualizada, desde el Datawindow
Control a la Base de Datos.
Para esto utilice la siguiente función:

<nom Dw>.Update( )
Donde: <nom Dw> es el nombre del Datawindow Control. Esta función
devuelve un valor, -1 si un error ocurrio

Ej.
If dw_nuevo. Update( ) <> -1 then
Commit ;
Else
Rollback ;
End If
Computación II Ing. Sistemas e Informática Datawindows

EVENTOS
El Objeto Datawindow Control también posee eventos, los más comunes son los
siguientes:

Evento Descripción
RowFocusChanged Sucede cuando el foco cambia de un registro a otro,
no de un campo a otro dentro del mismo registro.
También sucede cuando se obtienen datos (Retrieve) de la
Base de Datos.
ItemChanged Ocurre cuando el usuario un campo ha sido modificado y este
campo pierde el foco ( presionar tecla Enter, tecla Tab, o
moviéndose a otro campo cualquiera). También ocurre
cuando se utiliza la función ‘AccepText’ o la función
‘Update’.

Definición de SQLCA
SQL Communications Area(SQLCA) es un objeto transaccional. Un objeto transaccional es el área de
comunicación entre el script (lugar donde se programa un evento) y la base de datos. PowerBuilder define
este tipo de objeto para facilitar la comunicación con la base de datos desde el código de programación.
Este objeto es accesado por default, cada vez que se utiliza una sentencia SQL dentro de un script.

Introducción a los objetos DataWindow


Un Objeto DataWindow es un objeto que se usa para recuperar, presentar y manipular datos de una base de
datos relacional u otra fuente de datos(tales como una tabla de excel o un archivo de dBase).
Los objetos DataWindow tienen el conocimiento acerca de los datos que ellos están recuperando. Ud. puede
formatos para desplegar los datos, estilos de presentación.
Cómo usar los objetos dataWindow
Antes que Ud. pueda usar el objeto DataWindow en una aplicación, necesita construir el objeto. Se debe
utilizar el pintor Datawindow(Datawindow painter), que le permite crea y editar objetos DataWindow.
Adicionalmente, permite hacer archivos PSR(PowerSoft Report) que además le permitirían usar en una
aplicación. Un archivo PSR contiene la definición de un reporte (esencialmnete objetos DataWindow sin
actualizar tablas) asi como el contenido de datos en este reporte cuando el archivo PSR fue creado.
Ejemplos de objetos DataWindow
Ud. puede desplegar datos de la mejor forma de presentación para el usuario:
Estilos de Edición(Edit styles)
Si una columna puede tomar solamnete u pequeño numeros de valores, ud. puede hacer aparecer los datos
Computación II Ing. Sistemas e Informática Datawindows
como botones de radio(radio buttons) en un objeto datawindow y el usuario sabe que debe elegir uno de
ellos.
Formatos de presentación (Display formats)
Si una columna despliega un número telefónico , salarios, o fechas, ud. puede especificar el formato
apropiado para el dato.
Reglas de validación
Si una columna puede tomar números solamente en un rango específico, ud. puede especificar una regla
simple de validación para la columna, sin escribir ningún código, y así asegurarse que el usuario ingrese
datos válidos.
Reforzar los Objetos DataWindow
Si ud. quiere mejorar la presentación y manipulación de los datos en un objeto DataWindow, ud. puede
incluir campos calculados(computed fields), imágenes(pictures) y gráficos que son ligados directamente a los
datos recuperados por el objeto.
Esta sección describe los procesos sobretodo para la creación y uso de los objetos DataWindow.
Usando los objetos Datawindow
1. Construir un objeto DataWindow (o archivo PSR) haciendo click en el botón del Pintor DataWindow.
En este pintor, Ud. define la fuente de datos, estilo de presentación y todas las otras propiedades
del objeto, tales como, reglas de validación, ordenamiento y filtros y gráficos.
2. Colocar un control DataWindow en una ventana(o en objeto de Usuario).
A través de este control su aplicación se puede comunicar con el objeto datawindow que ha creado
con el pintor DataWindow.

3. Asociar el control DataWindow con el objeto DataWindow. Hacemos doble click sobre el control
datawindow o hacemos click derecho sobre el control datawindow para ver las propiedades del
control y poder ligar con el datawindow objeto.
Computación II Ing. Sistemas e Informática Datawindows

4. Escribir código script en una ventana para manipular de control DataWindow y su contenido.
Por ejemplo: Ud. puede usar la función Retrieve de PowerScript para recuperar datos dentro de un
control DataWindow.
Ud. puede escribir scripts para el control DataWindow y tratar de manipular errores, compartiendo
datos entre controles DataWindow.
5. Escribir código para controlar un proceso un proceso que es iniciado cuando ocurre un evento en el
control DataWindow.
Ud. puede escribir scripts para el control DataWindow y tratar de manipular errores, compartiendo
datos entre controles DataWindow.

Objetos Datawindow versus Reportes

Pintor Reporte (Reporte Painter)


Computación II Ing. Sistemas e Informática Datawindows
Los Reportes presentan datos. El pintor Reporte en PowerBuilder provee de muchas maneras para presentar
los datos. Ud. podría requerir de reportes tabulares con filas y columnas llenas de información. A veces un
gráfico o un crosstab es una mejor manera para presentar los datos.
Los reportes en PowerBuilder pueden además estar con etiquetas para envíar por correo o muchos reportes
jerarquizados que se encuentran en la misma página. PowerBuilder además tiene reportes de forma
libre(FreeForm) que le permite colocar texto, datos, líneas, cajas de texto, y gráficos en cualquier parte que
Ud. desee.
Reportes versus Objetos Datawindow
Para crear un reporte nuevo se hace de la misma manera como para crear un nuevo objeto DataWindow.
Construyendo un Reporte

Pintor Consulta (Painter Query)


Una Consulta es una sentencia SQL SELECT creada con el pintor Consulta(Query Painter) y grabada con un
nombre y puede ser usada repetidamnete como una fuente de datos para un objerto DataWindow.
Las consulta ahorran tiempo, porque ud. especifica todos los requerimientos de datos solo una vez. Por
ejemplo, se puede especificar las columnas, cuales filas se van a recuperar, y el ordenamiento de una
consulta. Las veces que Ud. quiera crea objetos DataWindow usando estos datos, simplemente
especificando la Consulta(Query) como la fuente de datos.
Definiendo una Consulta(Query)
1. Haga click en el botón del Pintor Consulta(Query painter) en la barra de herramientas PowerBar.

2. Haga Click en el Botón New para crear una Consulta nueva en la ventana de diálogo o elija una
consulta ya existente y haga click en OK para modificar la consulta. Entonces se despliega un área
de trabajo para crear o modificar una consulta.
Computación II Ing. Sistemas e Informática Datawindows

3. Seleccione las tablas de la ventana de diálogo que aparece y luego las columnas que desea que se
despliegen en la consulta.
Computación II Ing. Sistemas e Informática Datawindows

Además se puede definir criterios para ordenar datos de acuerdo a una columna o más, criterios
para agrupar datos, definir campos calculados(Competed), y así sucesivamente, de manera parecida
cuando crea objetos datawindow usando fuentes de datos con SQL select.
Manejando el archivo de Inicialización
Cuando inicia el Power Builder, el PowerBuilder busca por el archivo de inicialización y configura su entorno.
Acerca del archivo de Inicialización
El Archivo de inicialización es un archivo de texto que contiene variables que especifican las preferencias de
PowerBuilder. Estas preferencias incluyen cosas como, la última base de datos a la cual estaba conectada, el
PBL que se estaba usando.
Formato de Archivos .INI
El archivo de inicialización de PowerBuilder el formato de los archivos INI de windows en todas las
plataformas. Hay tres tios de elemntos:
 Nombre de la Sección, los cuales son encerradas entre corchetes Ej: [database]
 Palabras Claves, en los cuales son los nombres del conjunto de preferencias
 Valores, pueden ser numéricos o cadenas de texto, asignadas como un valor que se asocian a la
palabra Clave.
Computación II Ing. Sistemas e Informática Datawindows
Sección Lo que contiene
El nombre y localización de la aplicación actual y librerias de PowerBuilder, y una
Application
historia de aplicaciones pervias .
Barra de herramientas básico, tamaño de las ventanas, y preferencias en
PB generación de código, así como los nombres de los objetos más recientemente
abiertos.
El perfil de la base de datos actual. la lista de los DBMS's disponibles, y otras
DataBase
preferencias del pintor de Base de datos(DataBase painter).
DBMS_Profiles El nombre del perfil de la base de datos actual y una lista de otros perfiles.
Profile name El perfil de la base de datos en donde su nombre es name
El esquema de la ventana actual que se esta depurando, y los puntos de quiebre
Debug
y las ventanas de expresión
Ejemplo de un archivo de inicialización laboratorio.ini :
[Database]
DBMS=ODBC
Database=Laboratorio.db
UserId=
DatabasePassword=
LogPassword=
ServerName=
DbParm=Connectstring='DSN=Laboratorio'
Prompt=0

[Debug]
VariablesWindow=0
WatchWindow=0

[DBMS_PROFILES]
CURRENT=Laboratorio.pbl
PROFILES='Laboratorio.pbl','ABNC Main DB V5','Powersoft Demo DB V5','ABNC Sales DB V5'
History='Laboratorio.pbl','ABNC Main DB V5','Powersoft Demo DB V5','ABNC Sales DB V5'

CREAR UNA NUEVA BASE DE DATOS UTILIZANDO EL DISEÑADOR DE BASE DE DATOS DEL
POWER BUILDER 7.0
1. Una vez, que se encuentre dentro del power builder, seleccionar el icono de DataBase
Computación II Ing. Sistemas e Informática Datawindows
2. Dentro de la ventana de base de datos, seleccionar la carpeta de Uitilities y expandir.

3. Seleccionar la opción Create ASA Database y realizar doble clic, se activará la siguiente pantalla.

4. Seleccione el botón Browse, busque la carpeta en donde desea grabar su base de datos, indique el
nombre de la misma, y realice un clic sobre el botón Guardar.
5. Dentro de la ventana Create Adaptive Server Anywhere DataBase, Seleccione el botón Ok
6. Una, vez que se haya creado, se observará que dentro de la base de datos ODBC, se agrego la nueva
conexión que se ha creado.
Computación II Ing. Sistemas e Informática Datawindows

7. Si se desea cambiar el nombre de la conexión, realice doble clic sobre la conexión.


8. En la ventana que se activa, seleccione Profile Name, e ingrese el nuevo nombre de la conexión.
Ejemplo (Conexión_Alumnos) y seleccione el botón Ok

La conexión, se mostrará con


el nuevo nombre creado.
Luego expanda la nueva
conexión.

9. Si se desea crear tablas de datos, dentro de la conexión creada, seleccione la carpeta Tables y realizar
un clic con el botón derecho.
Computación II Ing. Sistemas e Informática Datawindows

10. En la ventana de diseño de tablas, ingresar el nombre del campo, tipo de dato y ancho del mismo

11. Para grabar la nueva tabla de datos, seleccione el icono de guarda, en la ventana que se activa, ingrese
el nombre de la tabla y seleccione el botón Ok.

12. Expanda la carpeta Tables y verá que la nueva tabla se ha agregado a la lista de tablas.

13. Para crear un índice (Llave Principal) dentro de la tabla creada, seleccione la tabla, realice un clic con el
botón derecho, seleccione New, y luego Primary Key.
Computación II Ing. Sistemas e Informática Datawindows

14. En la ventana de Primary Key (Conexión_Alumnos), Active el check del campo, del cual desea crear el
índice principal y luego grabe la tabla de datos.

15. Dentro de la ventana Object Layout, se mostrará la tabla de datos, con su clave creada, tal como se
muestra a continuación.
Computación II Ing. Sistemas e Informática Datawindows
 Cree la tabla Datos_Alumnos, de la misma manera, el diseño es el siguiente:

 La llave principal será Codigo_Alumno.


 Al terminar de crear se deberá de mostrar las dos tablas creadas, cada una con sus respectivas
llaves creadas, tal como se muestra a continuación

Claves Foráneas (Foreign Key)


Las Clave foránea es una combinación de una o mas columnas de una tabla que sirven para identificar a una
o mas columnas de otra tabla, una clave foránea, relaciona información de dos tablas. Una tabla puede
contener varias claves foráneas, ya que su información puede estar relacionada con mas de una tabla.
Crear una clave foránea para la tabla Datos_Alumnos.
Computación II Ing. Sistemas e Informática Datawindows
1. Seleccione la tabla Datos_Alumnos, dentro de la carpeta Tables, dar un clic con el botón derecho, en
el menú que se activa, seleccionar New, seguido de Foreign Key.
2. En la ficha general de Foreign Key, ingresar el nombre de la clave (Foreign Key, puede ser el mismo
nombre del campo) y seleccionar el campo Foráneo (Codigo_Especialidad) y el la ficha Primary
Key, seleccionar la tabla (Table), de donde viene el campo foráneo (Especialidades) y activar el
campo principal (Codigo_Especialidad)

3. Después de haber creado la clave foránea, grabar la tabla.


4. En la venta de Layout, se mostrará las dos tablas con su respectiva llave, tal como se muestra a
continuación.

You might also like