CREANDO DATAWINDOWS

download CREANDO DATAWINDOWS

of 13

Transcript of CREANDO DATAWINDOWS

CREANDO DATAWINDOWS

Un datawindow es un objeto visual de acceso a los datos. Bsicamente, este pintor genera una representacin visual de una sentencia Sql del tipo select. EL OBJETO DATAWINDOWS

El 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 (como archivos DBF). Puede, adems, escoger distintos estilos de presentacin (freefrom, Graph,). Los objetos DataWindow tienen conocimiento de los datos que son recuperados. Puede especificar formato de display y otros atributos, de forma tal que los datos son mostrados de manera ms significativa.

Para tener un datawindow en una ventana se debe tener dos elementos: Datawindows Objeto ( ver fig. anterior ) Datawindows Control ( Un datawindow control debe asociarse a un datawindow objeto para poder visualizar su contenido en una ventana). Cdigo de conexin de base de datos en el script de la aplicacin y de actualizacin en la ventana en la que se mostrar el datawindow.

CREANDO UN OBJETO DATAWINDOW

Para crear un objeto datawindow, seguir los siguientes pasos: Hacer un click en el pintor DataWindow (). A continuacin, el window Select Datawindow se displayar. Hacer click en el botn New. La ventana New DataWindow se displayar.

Escoger el estilo de presentacin: Freeform, tabular, grid, entre otros. (Para el ejemplo se escoger el tipo GRID) [Opcional ] escoger opciones para el Objeto DataWindow. Escoger un Data Source para el Objeto DataWindow. (Para el ejemplo se escoger la fuente de datos Quick Select) Hacer click en el botn Ok. Seleccionar la(s) tabla(s) y campos de la(s) misma(s) que se presentarn en el datawindow.

Si se desea se puede hacer un previo inmediatamente despus que el Objeto Data Window ha sido definido. Para ello hacer click en el botn () de la barra de herramientas del pintor datawindows. [Opcional ] se puede mejorar la apariencia del ttulo y otros.

Guardar el Objeto DataWindow ( hacer click en el botn de la barra de herramientas ). A continuacin aparecer la siguiente ventana:Es conveniente que eldatawindow objeto tenga elmismo nombre que eldatawindow control.

Escribir el nombre con el que se va a guardar el objeto datawindow, seguido de la convencin dw_, seleccionar la librera en la que se va a grabar y hacer click en el botn ok.MODIFICANDO UN DATAWINDOW EXISTENTE

Hacer click al Pintor DataWIndow (datawindow painter). Seleccionar el objeto datawindow de la actual librera. Hacer click en OK. En la ventana que aparecer a continuacin modificar el datawindow seleccionado.

ESCOGIENDO EL ESTILO DE PRESENTACION

El estilo de presentacin que se selecciona para un objeto datawindow determina el formato que PowerBuilder usa para el primer display del Objeto DataWindow en el DataWindow painter Workspace. Se pueden escoger los siguientes estilos de presentacin en un nuevo Objeto DataWindow : Tabular Freeform Grid Label N-up Group Graph Crosstab

ESTILO TABULAR

Este estilo de presentacin presenta los datos a travs de columnas, encabezados(header) y pginas, generalmente muestran muchas filas de las B.D., al mismo tiempo como pueda el Objeto Datawindow. Puede modificar la organizacin default, moviendo las columnas y textos. Este estilo es frecuentemente usado cuando se quiere agrupar los datos. ESTILO FREEFORM

Este estilo de presentacin presenta los datos como columnas de datos, de arriba hacia abajo de la pgina, con su respectiva etiqueta para cada columna. Puede organizar la definicin default moviendo las columnas y textos. Este estilo es frecuentemente usado para entrada de datos(mantenimiento). ESTILO GRID

Este estilo de presentacin, presenta los datos en formato fila-columna con lineas grid que separan filas y columnas. No puede mover las columnas y encabezados como en los estilos anteriores.

ESTILO LABEL

Este estilo presenta los datos como etiquetas. Escoja este estilo para crear etiquetas de correo u otro tipo de etiquetas. ESTILO N-UP

Este estilo presenta 2 ms filas en la misma lnea del Objeto DataWindow, una seguida de otra. Es similar al estilo label. ESTILO GROUP

Este estilo es una forma corta para crear grupos en un Objeto DataWindow, generando un estilo tabular que est agrupado por ciertas popiedades que son definidas por el que programa. ESTILO GRAPH Y CROSSTAB

Los anteriores estilos son basados en texto. PowerBuilder provee dos estilos que permiten mostrar informacin grficamente : graphs y crosstab.

DEFINIENDO LA FUENTE DE DATOS

Al definir la fuente de datos (dataSource), se especifica cul es la fuente de datos que ser usada en el Objeto Datawindow. Se puede escoger de las siguientes fuentes de datos: Quick Select SQL Select Query External Stored Procedure

Si los datos que el Objeto DataWindow muestra, proviene de una base de datos, escoger Quick Select, SQLSelect, Query , o Stored Procedure como la Data Source. Si los datos a recuperar son de una sola tabla y slo necesita escoger columnas, criterio de seleccin y Sort (No necesita agrupar, campos calculados, etc.), escoger Quick Select SQLSelect. Si la data ha sido definida y salvada en un query, escoger Query. Si la data es definida en un Stored Procedure (procedimieno almacenado), escoger Stored Procedure. Si los datos no provienen de una B.D. , escoger Select externa. Esto incluye las siguientes situaciones: Si los datos sern importados de un archivo externo, tal como un archivo de texto separado por un tab o archivo Xbase(DBF). Si los datos sern importados de una aplicacin DDE. QUICK SELECT

Si slo necesita seleccionar columnas de una sola tabla, use Quick Select data source, el Quick Select genera una sentencia SQL.

SQL SELECT

Cuando el SQL Select como Data Source, se construye la sentencia SQL select (grafico o texto) que puede incluir lo siguiente:Ms de una tabla Criterio de seleccin (clausula Where) Criterio de Sort(clausula Order By) Criterio de agrupamiento (clausula group By y Having) Columnas ComputadasCREANDO UN CONTROL DATAWINDOWS

Un control datawindow, como todo control, va pegado en una ventana. Para crear un control datawindow y asociarlo con un objeto datawindow, seguir los siguientes pasos: Crear una nueva ventana (window). Seleccionar de la barra de herramientas el control datawindow (ver lista que aparece al lado izquierdo). Pegar el control en la ventana, dndole el tamao que se estime va a tener el datawindow que se desea mostrar.

Asociar el control datawindow al objeto datawindow anteriormente creado.Para ello, dar doble click sobre el control datawindow y aparecer la ventana de propiedades en la que se colocar en el rea DataWindow Object Name, el nombre del datawindow objeto. Es conveniente que el nombre del datawindow control sea el mismo que el del datawindow objeto. En el script de la ventana, en la que se encuetra el control datawindow en el evento open, escribir el siguiente cdigo:dw_coleccion. settransobject(sqlca)dw_coleccion.retrieve( )

Si la aplicacin no tiene cdigo para CONEXION a base de datos, escribir el siguiente cdigo en el evento open de la aplicacin.

CONTROLANDO LA ACTUALIZACION

Para controlar la actualizacin de un datawindow, seguir los siguientes pasos: Hacer un click con el botn derecho del mouse en el control datawindow. Aparecer una lista como la que se aprecia en la figura. Seleccionar la opcin: Modify DataWindow.... A continuacin aparecer el entorno datawindow (datawindow workspace). Seleccionar el men Rows, la opcin Update Properties.

Hacer click en OK y el datawindow tendr la propiedad de actualizacin. A continuacin aparecer una ventana similar a la siguiente, en la que se har un check al checkbox Allow Updates.

COMPONENTES DE UN DATAWINDOWS

Un datawindow consta principalmente de las siguientes reas:

En otro tipo de datawindow, tambin existen reas como: Group Header : Muestra informacin acerca de los grupos de la cabecera. Group Trailer : Muestra los totales por cada grupo creado. Barra de color : Se puede cambiar el color del background, texto, etc., desde el popup del men.

EVENTOS DE UN DATAWINDOWS

Los eventos ms importantes del objeto datawindow son: Evento Se ejecuta cuando ... .

ClickedEl usuario ejecuta un click con el ratn.ConstructorEste evento est presente en casi todos los objetos de PB. Se ejecuta cuando el sistema acaba de crear el objeto.DbErrorHa ocurrido un error de base de datos. Util para capturar errores de la base de datos y tratarlos segn nuestro criterio.DestructorEl sistema destruye los objetos, normalmente al cerrar una ventana.EditChangedCada vez que el usuario pulsa una tecla y modifica un carcter del contenido de un campo.ErrorSe produce un error de validacin en un campo.ItemChangedEl usuario ha modificado un campo e intenta cambiar de campo con la tecla tab o el mouse. Util para validar los datos, ya que nos da la oportunidad de rechazar lo que el usuario ha introducido.ItemErrorEl usuario ha producido un itemchanged pero los datos que contiene el campo no pasan las reglas de validacin introducidas en el datawindow object.ItemFocusChangedEl usuario cambia de campo.RetrieveEndHa finalizado una instruccin retrieve (consulta a la base de datos).

RetrieveRowMientras se est ejecutando una instruccin retrieve y recuperamos cada una de las filas.RetrieveStartAntes de que se lance la instruccin SQL Select contra la base de datos.RowFocusChangedEl foco cambia de fila. Cuidado con esta instruccin porque se ejecuta por s sola cuando hacemos un insert, un delete o un retrieve.SqlPreviewCada vez que ejecutamos funciones de PB que afectan a la base de datos.Retrieve,Update, etc. Muy til para depurar el sql que se est generando.UpdateEndHa finalizado la actualizacin de la base de datos.UpdateStartAntes de que empiece la actualizacin de la base de datos.

Para finalizar DataWindows, algo importante: Normalmente, primero pegas un datawindow control en la ventana, y despus le asignas un datawindow object que debes haber creado antes. Pero tambin se puede hacer sto dinmicamente a travs de un script. El atributo DataObject (de tipo string) es el que asigna el data object a la datawindow. Piensa por un momento en las posibilidades que sto ofrece.

EL LENGUAJE POWERSCRIPT

PowerBuilder tiene un ambiente de trabajo llamado PowerScript, el cual sirve para escribir el cdigo de la aplicacin. Estos comandos corresponden al lenguaje de programacin llamado PowerScript. El lenguaje PowerScript es muy extenso y se suele recordar todas las instrucciones necesarias para poder realizar programas ms o menos complejos. El archivo de ayuda no est organizado para iniciar un aprendizaje, aunque ms adelante su uso ser de mucha utilidad. Este captulo servir para saber qu funcin se ha de utilizar, y qu nombre tiene en el archivo de ayuda. QUE ES EL SCRIPT?

El script es un conjunto de uno o ms comandos del lenguaje PowerScript que se ejecutan en respuesta a la ejecucin del evento que lo invoc, es decir, siempre est asociado a un determinado evento. En los scripts se hace referencia a ventanas, controles, objetos, menes, variables y a sus atributos, los cuales pueden ser modificados. Ejem:

FACILIDADES DEL PINTOR POWERSCRIPT

Posee herramientas de edicin por medio de comandos y menes que permiten copiar, cortar, pegar, borrar, seleccionar y eliminar comentarios.

Posee listbox que contienen las variables, objetos y comandos, los cuales, al ser seleccionados, son pegados en la posicin en la que se encuentra el cursor.

PRONOMBRES USADOS POR EL POWER SCRIPT

Los Pronombres usados en el PowerScript son: This Super Parent ParentWindow referencia al objeto actual.referencia al objeto del que hereda el actual.referencia al objeto que contiene el actual.referencia a la ventana que contiene el men (solo vale para menes).

TIPOS DE DATOS

PowerScript provee 3 tipos de datos : ESTANDAR : Similares a muchos lenguajes de programacin, el PowerScript utiliza estos tipos de datos cuando declara variables o array, as tenemos los siguientes ejemplos: TipoDescripcin BlobUsado para almacenar imgenes textos grandes..BooleanTrue o False.CharSlo carcter._________________________________________________________________________DateFechas._________________________________________________________________________DatetimeLa fecha y la hora en un solo tipo de dato.DecimalNmero decimal con signo de 18 dgitos.DoublePunto flotante.IntEntero con signo de 4 bytes.LongEntero largo de 6 bytes.

OBJETOS DEL SISTEMA En PowerBuilder se manipula objetos como windows, menes, controles. Internamente el PB define estos tipos de objetos como un tipo de dato Ejemplo : Para definir una variable window:window mi_window Para definir una variable men:Menu mi_menu Definir una variable commandbutton:Commandbutton mi_comando ENUMERADOS: Puede ser usado de dos formas : Como argumento en funciones y para especificar el atributo de un objeto o control.Cada tipo de dato enumerado puede ser asignado con un conjunto fijo de valores. Estos valores siempre terminan en exclamacin (!). Ejemplo : El tipo de dato Alignament, puede ser asignado a uno de los tres siguientes valores : Center!, left! y right!TIPOS DE VARIABLES

PowerScript reconoce 4 tipos de variables: Variables Globales : Cuando se quiere disponible en cualquier parte de la aplicacin. Variables de instancias(Instance): Cuando necesite tener variables que son accesadas por ms de un script dentro de un objeto, pero no necesita ser global para toda la aplicacin Variables compartidas(Shared): Las variables compartidas son asociadas con la definicin del objeto, es decir, todas las instancias de ese objeto tienen a esta variable comn. Variables locales: Cuando se necesite una variable temporal, stas son definidas en el script y slo pueden usarse en dicho script.

OPERADORES

PowerBuilder soporta los siguientes tipos de operadores:

FUNCIONES MAS UTILIZADAS

FUNCIONES PARA VENTANAS:

open opensheet openWithParm openSheetWithParm closeAbrir una ventana. Abrir una ventana dentro de otra ventana del tipo mdi. Abrir una ventana envindole un parmetro. Abrir una ventana dentro de otra del tipo mdi envindole parmetro. Cerrar una ventana. Close(parentWindow) y close (parent) son vlidas.

BUFFERS DEL DATAWINDOWS

Primary!Es el buffer por defecto. El que el usuario modifica con el teclado. Original!Es el buffer que guarda los datos tal y como se recuperaron de la base de datos. Deleted!Guarda las filas borradas. Filtered!Cuando aplicamos un filtro a la datawindow, aqu se almacenan las filas que no se ven, y que han desaparecido del buffer Primary! Ejemplo del uso de buffers:Cuando un usuario borra una fila, sta no desaparece de la memoria, sino que simplemente se mueve del buffer Primary al Deleted. As que si queremos, podemos recuperarla sin acceder a la base de datos. FUNCIONES DEL DATAWINDOW

AcceptTextProvoca la validacin del campo actual si el usuario no puls tab. DBCancelProvoca la cancelacin de un retrieve( ) en curso. DeletedCountDevuelve el nmero de filas que el usuario ha borrado. DeleteRowBorra una fila. DescribeDevuelve informacin muy detallada sobre la estructura de la DataWindow. FilterEjecuta el filtro actual (vase setFilter). GetChildDevuelve un apuntador a una DataWindow contenida dentro de otra. GetColumnDevuelve el nmero de columna actual.

FUNCIONES DE DATAWINDOWS

GetColumnNameDevuelve el nombre de la columna actual. GetItemxxxxxx representa un tipo de dato. Devuelve el valor contenido en una columna. GetItemStatusDevuelve el status de una fila o columna. GetRowDevuelve el nmero de fila actual. GetSQLSelectDevuelve la select de la datawindow. GetTextDevuelve un string que contiene el valor de una columna que est siendo editada antes de que el usuario la confirme cambiando de campo. GetValueDevuelve un string conteniendo el valor de una columna. InserRowInserta una fila en blanco. ModifyModifica la estructura interna de una datawindow. PrintImprime una datawindow. RetrieveEjecuta una select contra la base de datos y muestra los datos en la datawindow. RowCountCuenta las filas en una datawindow. SaveAsSalva el contenido de una dw en un fichero. Soporta diversos formatos incluyendo excel, texto, rtf y html. ScrollToRowScrollea la datawindow hasta una fila y la hace visible (no confundir con setRow()). SetColumnCambia el foco a una columna en concreto. SetFilterModifica las condiciones de filtro de una DW. SetFocusColoca el foco en una datawindow.

SetItemModifica el valor de una columna. SetItemStatusModifica el status de una fila o columna. SetRowHace que la fila especificada sea la actual. SetSortModifica las condiciones de ordenador. SetTransObjectEnlaza una datawindow con el objeto transaccin. Para que una datawindow funcione es imprescindible ejecutar la siguiente instruccin: NombreDw.SetTransObject(SQLCA) ShareDataHace que una datawindow comparta datos con otra (se puede conseguir un efecto de espejo). SortOrdena una Dw con las condiciones especificadas con SetSort(). UpdateGraba las modificaciones en la base de datos. Ejemplos:

Hay muchas ms funciones pero stas son las que permiten crear un programa ms o menos completo que modifique una base de datos.