Vous êtes sur la page 1sur 20

Computacin II

Ing. Sistemas e Informtica

Datawindows

DATAWINDOWS
UndatawindowsesunasentenciaSQLqueest ligadaauna representacingrfica,dondecadaelementodeestarepresentacin es individ ualizable y puede ser alterado en el cdigo del programa. Esta definicin indica dos elementos unidos: a. Origen de Datos: Correspondea la sentencia (extraer un SQL,laquepodrtener conjunto definido de

caractersticasdeAgrupamiento,Ordenamiento,Condicionales registros). b. Presentacin: Correspondealadistribucingrficadeloselementosdela definida paraello. La que podr ser

consultayotrosaadidos,dentro para presentar

de

un

rea

utilizada

datos,

ingresar

datos,listarlosoimprimirlos;talycomoaparecenenesta hoja. Seleccin Tipo y Presentacin ParatrabajarconlasDatawindowspresioneelbotn podr seleccionar una ya ,luegodelo cual aparecer la ventana de seleccin; nueva

existente,paramodificarla,opresionarelbotnNewparacrearuna

Datawindows. SipresionaelbotnNewdeberseleccionarelmododetrabajopara el Origen de datos ytambin el tipo de Presentacin.

Modos de trabajo: ElmododetrabajodefinecomosetrabajaraconelOrigendeDatos. Existen 5 tipos de Modos de trabajo

Modo

Descripcin No presenta lastablasen forma grfica,y solo permite las sentencias ordinariasde SQL (Sorty Criterio). Laprimeraparapoderordenarporelcampo

Quick Select

especificoylasegundapara indicar registros a mostrar pedendiendode una valor condicional.

Computacin II

Ing. Sistemas e Informtica

Datawindows

Presenta las tablas en forma grfica, y permite trabajar contodas SqlSelect

las

caractersticasdeSql estndar (Sort, Group, Having, Compute y Where, entre otros) ElorigendeDatoses unaConsultadefinida previamente en el Areade Trabajo

Query; esta consultaquedaalmacenadacomounobjetode Powerbuilder; Ud Query debeseleccionar Datawindows. la consulta que deseeutilizarcomoOrigendeDatosdeeste

Elorigendedatosnoestarelacionadoconninguna Tabla.Ud.debedefinirloscamposqueinteractan (nombre,tipoylargo)UtilicelosbotonesAddpara External aadirunnuevocampoalfinaldelosyaexistentes,el botnInsertlepermitirinsertaruncampoentre otrosyelbotnDeletelepermitireliminarelcampo actual. Elorigendedatosesunprocedimientoquehasido almacenadoenlaBasedeDatos.Seleccioneunosilo previamente. ha creado, o crelo

Stored Procedure

Tipos de presentacin ElTipodepresentacindefinecomosepresentaranlosdatosenelDataWindows, exis ten 11 tipos de presentacin las que son:

Presentacin Composite

Descripcin Utiliza como presentacin un reporte previamente creado.

Computacin II

Ing. Sistemas e Informtica

Datawindows

Freeform

Lapresentacineslibre,dondecadacampoestaen unalneadistinta.Muyutilizadoparaelingresode datos.

Graph Grid Group

Diseaungrficodependiendodeunaconsulta,esta debe contener datos relacionados. Diseaunamalladedatosenformacolumnada,ycada columna con una justificacin completa. Disea listado por agrupacin de campos. Muy

utilizado para reportes deresumen de informacin. Eldiseoesdeetiquetas,dondeUd.podrelegirel tipo etiqueta de las prediseadas, de en papel

continuo o separado, y otras opciones. Rich Text Permitedefinirunacartaconcombinacindecampos delOrigendedatosfijado.Sepuedenutilizartodas las caractersticas de formato de texto RTF. Tabular Presentaelorigendedatosenformacolumnadapero Permite una mayor libertad en el diseo. sin ajuste total.

Origen de Datos DespusdepresionarOkenlaventana,aparecerunaventanadela cualsedebe(n)seleccionarla(s)Tabla(s)queestarninvolucradasen el Datawindow, si este es n uevo.

Seterminalaseleccinpresionandoelbotn laseleccinpresioneelbotnCancel,luegodelocualapareceren formagrficala(s)Tabla(s)ytambinlasrelacionesexistentesentre ellas. Sisedesearaaadirnuevastablaspresioneelbotn y seleccinela(s).

Openysideseacancelar

SisedesearaextraerunatabladelOrigendedatos,presioneel botnderechodelmousesobrelarepresentacingrficadelaTabl a y seleccionela opcinClose. Para seleccionar los campos simplemente haga un clic sobre su

Computacin II

Ing. Sistemas e Informtica

Datawindows

nombreenlarepresentacingrficadecadaTabla,apareceren formaenmarcada,sideseadesmarcarlasimplementevuelvaahacer un clicsobre esta. Utilizacin Elobjetodatawindowsensinoesdeningunautilidad,sinosevincula conunobjetoDatawindowcontrol.Esteobjeto,esvisualyesposible de insertar directamente en una ventana; para que pueda ser utilizado por el usuario.

Objeto Datawindow Control


El objeto DatawindowControl se selecciona dellistadode objetos que se pueden insertar en una ventana,simplemente haga un clic sobre el icono

Luegohagaunclicenlaposicin,enlaventana,dondedeseaponerelDatawindow control.

HagadobleclicsobreelobjetoDatawindowsqueestaahora enlaventana,obienpresioneelbotn,teniendoseleccionado el objeto, para ver las propiedades que posee.

Propiedades del Objeto:


Propiedad Name Datawindow Descripcin Es el nombre que tendr elobjeto Datawindow Control. Escriba el nombre del objeto Datawindowque ser mostradoenesteDatawindowcontrol.Paraseleccionar presione el botn "Browse". Title Escribaeltextoqueaparecerenlabarradetitulo,si esta marcada la opcin TitleBar. TitleBar Siestaopcinestamarcada,eltextoqueesteenla caja Title se mostrara como una barra de titulo. Control Menu Siestaopcinestmarcada,permitequeelDatawindow Control, sea un un Datawindow

objeto flotante (pudiendo moverse) dentro de los limites de la ventana que lo contiene.

Maximize box

Permite

que

el

Datawindow

control,

presente

los

botones Maximizar yMinimizar, respectivamente.

Minimize box

Manejo de Datawindow Control

Parahac ru s d atawind wControlentiempodeejecucines

p ta II   

I g

stas I t a

ata  d s

necesarioindicarqueobjetodetransaccinserutilizad op orel Datawindowp ara pre sentar la informacin definida en el.Estose hace,con la siguiente funcin: <nomDw>.Set Donde: <nomDw>es el nombre del Datawindow Control. <objtransac>eselobjetodetran saccin,pordefectoutiliceSQLCA.
 !"#

a s

ec t(<objtran sac>)

EstasentenciadebeescribirseantesdehacerusodelDatawindow Control,normalmentesep oneenelEvento"Open"delaventanaque contiene al Datawindow Control. Ej. dw_inicio.Set


 !"#

a s

ect(sqlca )

Paraobtenerd atosdelaBasedeDatos,ymostrarlosenelDatawindow Control, se utiliza la siguiente <nomDw>.Ret eve(<listaparametros>) Donde:


$

funcin:

<nomDw>es el nombre del Datawindow Control. < lista p armetros >,sip araelOrigendeDatos (d elDatawin dow), se definieron argumentos, deben losvalore sautilizarp orcadaunoenelmismoordenenquefueron
%

listarse

definidosysep aradosentre siporunacoma.Losarg umentos seescribencomoliterales,sincomillasp aralosargumentosd e tipo texto. Ej. dw_nue vo.Ret eve( Contabilidad, sle_ed ad.text )
$

Para modificar en tiempo de ejecucin el datawind owque esta vinculado al Datawind ow Control, utilice la siguiente funcin: <nomDw>.Data Donde:
!"#

ect= <nombreobjDw>)

<nomDw>es el nombre del Datawindow Control. <nombreobjDw>,eselnombredeunobjetoDatawind owdefinido. Si el objeto Datawindowvinculad o al es necesarionue vamente,indicarelobjetod e

DatawindowControl,
$

tran saccin queseutilizaraparae steDatawind owyvolvera ocup arlafuncinRet eve,paraobtenerlosd atosdeesta nuevo Datawind ow. Ej. dw_nue vo.D ata
!"#

ect= d_otro

C &' p (ta cin II

Ing . Sistem as e Inform tica

Data )ind ow s

Funciones para el manejo:


0

adir

Para aadir un nue vo registro se utiliza la siguiente fun cin: <nomDw>.InsertRow(<pos>) Donde: se <nomDw>es el nombre del Datawindow Control. <pos>Eslaposicin,dentrodelnmeroderegistrosmostrados en el Datawind owControl, dond e insertaraelnue voregistro.Si<p os>=0,aadeun registroalfinaldelosyaexistentes.Elaadirun este

registro,paraserllenadolosd atosdeloscamp osp orelusuario,noimplicaqueelfocosemue vaa nuevoregistro. Ej. dw_nue vo.InsertRow(1) Eliminar Para eliminar un registro debe conocer cuales

la

posicin,dentrodelnmeroderegistrosmostrad osenelDatawindowControl, del registro a eliminar.

Estosehace,con lasiguiente fun cin: <nomDw>.DeletedRow(<pos>) Donde: <nomDw>es el nombre del Datawindow Control.

<pos>e slap osicindelregistroaeliminar.SideseaEliminarelregistrodondeestelfoco(cursor actualmente),utilicelasiguientefuncin: <nomDw>. etRow ()


1

Ej.

dw_nue vo.DeletedRow(dw_nue vo. etRow( ) ) Buscar Permite buscar un registro, dentro de los listad os en el

DatawindowControl,quecoincidaconlaexpresindefinida. Paraestoutilicelasiguiente funcin: <nomDw>.Find (<exprecond>) Don de: <exprecond>e sunaexpre sinque seescribeigualqueunaexpresinWhere.Estafuncindevuelvelap osici ndelregistroquecumplaconlacondicin,ouncerosino encuentra ninguno. <nomDw>es el nombre del Datawindow Control.

C om p uta cin II

Ing . Sistem as e Inform tica

Data wind ow s

Ej. integer pos pos= dw_nue vo.Find("rut= " + sle_rut.text + "") Filtrar Registros Estosignificaquedelconjuntoderegistrosquemuestrael DatawindowControlenformahabitual,solosemostraranlos invisibles,peropresente senelDatawindowControl.Paraesto poseeded osfunciones,laprimerap aradefinirunafiltro,yla segunda p ara ejecutar el filtrado definido. quecumplan con ciertacondicin.Quedand olosotros

Definir

Filtro:

Si desea

modificar

el

filtro

definido

en

la

"Presentacin"delDatawindow,ocrearunnue vofiltro,utilice la siguiente funcin: <nomDw>.SetFilter(<exprecond>) Donde: <nomDw>es el nombre del Datawindow Control. <exprecond>e sunaexpre sinq uesee scribeigual que una expre sin Where.

Ejecutar Filtro: Pararealizar el filtrado en el DatawindowControl, utilice lasig uiente funcin: <nomDw>.SetFilter() Donde: <nomDw>es el nombre del Datawind ow Control.

Ej. dw_nue vo.SetFilter("Ed ad>21") dw_nue vo.SetFilter( ) Actualizar Base de Datos Debeindicrselequetrasp aselainformacinmodificad a/eliminad a/actualizad a,de sdeelDatawindow Control a la Base de Datos. Paraestoutilicelasiguiente funcin: <nomDw>. 2pdate() Donde: <nomDw>es el nombre del Datawind ow Control. Estafun cin de vuelve un valor, -1 si un error ocurrio

Ej. If dw_nue vo. 2pdate( ) <> -1 then Commit ;

C om p uta cin II

Ing . Sistem as e Inform tica

Data wind ow s

Else Rollback ; EndIf

EVENTOS El Objeto DatawindowControl tambin posee eventos, los ms comunes son los siguientes:

Evento

RowFocusC anged

Descripcin Sucedecuand oelfococambiadeunregistroa otro, no de un camp o a otro dentro del mismo registro.

Tambinsucedecuand oseobtienend atos (Retrieve) de la Base ItemC anged


3

de Datos. Ocurrecuand oelusuariouncamp ohasido modificad oye stecampopierdeelfoco(pre sionar teclaEnter,teclaTab,omovindoseaotrocampo cualquiera).

Tambinocurre cuand o se utiliza la funcin AccepText o la funcin Update. Definicin de SQLCA SQL Communication sArea(SQLCA) es un objeto transaccional. Un objeto tran saccional es el rea d e comunicacin entre el script (lugar donde se programa un e vento) y la b ase de d atos. PowerBuilder define este tipo de objeto p ara facilitar la comunicacin con la b ase de d atos de sde el cdig o de programacin. Este objeto es acce sado p or default, cada vez que se utiliza una sentencia SQL dentro de un script.

Introduccin

los

objetos

DataWindow

Un Objeto DataWindow e s un objeto que se usa p ara recuperar, presentar y manipular d atos d e una base de datos relacional u otra fuente de datos(tales como una tabla de excel o un archivo de dBase). Los objetos DataWind ow tienen el conocimiento acerca de los datos que ellos estn recuperand o. Ud. puede formatos p ara despleg ar los d atos, estilos de presentacin. Cmo usar los objetos d ataWind ow

Ante s que Ud. pueda usar el objeto DataWindow en una aplicacin, nece sita con struir el objeto. Se debe utilizar el pintor Datawindow(Datawindowp ainter), que le permite crea y editar objetos DataWindow. Adicionalmente, permite hacer archivos PSR(PowerSoftReport) q ue adems le permitiran u sar en una aplicacin. Un archivo PSR contiene la definicin de un rep orte (esencialmnete objetos DataWindow sin actualizar tablas) asi como el contenido de datos en este reporte cuand o el archivo PSR fue creado. Ejemplos de objetos Data
4

indow

Ud. puede desplegar datos de la mejor forma de pre sentacin p ara el u suario:

Computacin II

Ing. Sistemas e Informtica

Datawindows

Estilos

de

Edicin(Editstyles)

Si una columna puede tomar solamnete u pequeo numeros de valores, ud. pu ede hacer aparecer los datos como botones de radio(radio buttons) en un objeto datawindow y el usuario sabe que debe elegir uno de ellos. Formatos de presentacin (Displayformats)

Si una columna despliega un nmero telefnico , salarios, o fechas, ud. pue de especificar el formato apropiado para el dato. Reglas de v alidacin

Si una columna puede tomar nmeros solamente en un rango especfico, ud. puede especificar una regla simple de validacin para la columna, sin escribir ningn cdigo, y as asegurarse que el usuario ingrese datos vlidos. Reforzar los Objetos DataWindow

Si ud. quiere mejorar la presentacin y manipulacin de los datos en un objeto DataWindow, ud. puede incluir campos calculados(computedfields), imgenes(pictures) y grficos que son ligados directamente a los datos recuperados por el objeto. Esta seccin describe los procesos sobretodo para la creacin y uso de los objetos DataWindow. Usando los objetos Datawindow 1. Construir un objeto DataWindow (o archivo PSR) haciendo click en el botn del Pintor DataWindow. En este pintor, Ud. define la fuente de datos, estilo de presentacin y todas las otras propiedades del objeto, tales como, reglas de validacin, ordenamiento y filtros y grficos. 2. Colocar un control DataWindow en una ventana(o en objeto de Usuario).

A travs de este control su aplicacin se puede comunicar con el objeto datawindow que ha creado con el pintor DataWindow.

Computacin II

Ing. Sistemas e Informtica

Datawindows

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.

4. Escribir cdigo script en una ventana para manipular de control DataWindow y su contenido. Por ejemplo: Ud. puede usar la funcin 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 cdigo 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)

Computacin II

Ing. Sistemas e Informtica

Datawindows

Los Reportes presentan datos. El pintor Reporte en PowerBuilder provee de muchas maneras para presentar los datos. Ud. podra requerir de reportes tabulares con filas y columnas llenas de informacin. A veces un grfico o un crosstab es una mejor manera para presentar los datos. Los reportes en PowerBuilder pueden adems estar con etiquetas para envar por correo o muchos reportes jerarquizados que se encuentran en la misma pgina. PowerBuilder adems tiene reportes de forma libre(FreeForm) que le permite colocar texto, datos, lneas, cajas de texto, y grficos 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 (PainterQuery) Una Consulta es una sentencia SQL SELECT creada con el pintor Consulta(QueryPainter) y grabada con un nombre y puede ser usada repetidamnete como una fuente de datos para un objertoDataWindow. Las consulta ahorran tiempo, porque ud. especifica todos los requerimientos d e 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 botn del Pintor Consulta(Querypainter) en la barra de herramientas PowerBar.

2. Haga Click en el Botn New para crear una Consulta nueva en la ventana de dilogo 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.

Computacin II

Ing. Sistemas e Informtica

Datawindows

3. Seleccione las tablas de la ventana de dilogo que aparece y luego las columnas que desea que se despliegen en la consulta.

Computacin II

Ing. Sistemas e Informtica

Datawindows

Adems se puede definir criterios para ordenar datos de acuerdo a una columna o ms, 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 Inicializacin Cuando inicia el PowerBuilder, el PowerBuilder busca por el archivo de inicializacin y configura su entorno. Acerca del archivo de Inicializacin El Archivo de inicializacin 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 Formato que de se estaba Archivos usando. .INI

El archivo de inicializacin de PowerBuilder el formato de los archivos INI de windows en todas las plataformas. Hay tres tios de elemntos:    Nombre de la Seccin, los cuales son encerradas entre corchetes Ej: [database] Palabras Claves, en los cuales son los nombres del conjunto de preferencias Valores, pueden ser numricos o cadenas de texto, asignadas como un valor que se asocian a la palabra Clave.

C om p uta cin II

Ing . Sistem as e Inform tica

Data wind ow s

Seccin Application

Lo que contiene El nombre y localizacin de la aplicacin actual y librerias de PowerBuilder, y una historia de aplicaciones pervias . Barra de herramientas b sico, tamao de las ventanas, y preferencias en

PB

generacin de cdigo, as como los nombres de los objetos ms recientemente abiertos.

DataBase DBMS_Profiles Profilena e Debug


5

El perfil de la base de datos actual. la lista de los DBMS's disp onibles, y otras preferencias del pintor de Base de d atos(DataBasep ainter). El nombre del perfil de la base de d atos actual y una lista de otros perfiles. El perfil de la base de d atos en d onde su nombre es name El esquema de la ventana actual que se esta depurand o, y los p untos de quiebre y las ventanas de expresin

Ejemplo de un archivo de inicializacin lab oratorio.ini : [Datab ase] DBMS=ODBC Datab ase=Lab oratorio.db UserId= Datab asePassword= Log Password= ServerName= DbParm=Connectstring='DSN=Lab oratorio' Prompt=0

[Debug] VariablesWindow=0 WatchWind ow=0

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

CREAR UNA NUEVA BASE DE DATOS UTILIZANDO EL DISEADOR DE BASE DE DATOS DEL POWER BUILDER 7.0 1. Una vez, que se encuentre dentro del powerbuilder, seleccionar el icono de D ataBase

Computacin II

Ing. Sistemas e Informtica

Datawindows

2. Dentro de la ventana de base de datos, seleccionar la carpeta de Uitilities y expandir.

3. Seleccionar la opcin Create ASA Database y realizar doble clic, se activar la siguiente pantalla.

4. Seleccione el botn Browse, busque la carpeta en donde desea grabar su base de datos, indique el nombre de la misma, y realice un clic sobre el botn Guardar. 5. Dentro de la ventana CreateAdaptive Server AnywhereDataBase, Seleccione el botn Ok 6. Una, vez que se haya creado, se observar que dentro de la base de datos ODBC, se agrego la nueva conexin que se ha creado.

Computacin II

Ing. Sistemas e Informtica

Datawindows

7. Si se desea cambiar el nombre de la conexin, realice doble clic sobre la conexin. 8. En la ventana que se activa, seleccione ProfileName, e ingrese el nuevo nombre de la conexin. Ejemplo (Conexin_Alumnos) y seleccione el botn Ok

La conexin, se mostrar con el nuevo nombre creado. Luego expanda la nueva conexin.

9. Si se desea crear tablas de datos, dentro de la conexin creada, seleccione la carpeta Tables y realizar un clic con el botn derecho.

Computacin II

Ing. Sistemas e Informtica

Datawindows

10. En la ventana de diseo 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 botn 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 botn derecho, seleccione New, y luego Primary Key.

Computacin II

Ing. Sistemas e Informtica

Datawindows

14. En la ventana de Primary Key (Conexin_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 ObjectLayout, se mostrar la tabla de datos, con su clave creada, tal como se muestra a continuacin.

Computacin II

Ing. Sistemas e Informtica

Datawindows

Cree la tabla Datos_Alumnos , de la misma manera, el diseo 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 continuacin

Claves Forneas (Foreign Key) Las Clave fornea es una combinacin de una o mas columnas de una tabla que sirven para identificar a una o mas columnas de otra tabla, una clave fornea, relaciona informacin de dos tablas. Una tabla puede contener varias claves forneas, ya que su informacin puede estar relacionada con mas de una tabla. Crear una clave fornea para la tabla Datos_Alumnos.

Computacin II

Ing. Sistemas e Informtica

Datawindows

1. Seleccione la tabla Datos_Alumnos, dentro de la carpeta Tables, dar un clic con el botn 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 Forneo (Codigo_Especialidad ) y el la ficha Primary Key, seleccionar la tabla (Table), de donde viene el campo forneo (Especialidades) y activar el campo principal (Codigo_Especialidad )

3. Despus de haber creado la clave fornea, grabar la tabla. 4. En la venta de Layout, se mostrar las dos tablas con su respectiva llave, tal como se muestra a continuacin.