Tutorial de Power Builder

  • Published on
    11-Jul-2015

  • View
    310

  • Download
    5

Embed Size (px)

Transcript

<p>Tutorial Bsico de PowerBuilderArpheanSe permite copia y distribucin siempre que se cite la fuente de procedencia y el autor. Arphean Nih Alls rights reserved anih@ozu.es http://arphean.mirrorz.com Nota: Algunas partes de este manual estn realizadas con la ayuda, informacin y soporte de varios programadores. Agradezco a todos ellos su esmero y trabajo sin los cuales tutoriales como el presente seran mucho mas difcil de llevar a cabo. Se ha creado el archivo .pdf sin contrasea ni protecciones con la nica intencin de facilitarte su lectura y futuros tratamientos, as como de que pueda ser abierto por cualquier versin del reader de pdf. Por ello, ten en consideracin nuestro trabajo y no lo modifiques ni alteres sin consentimiento previo, y, si lo distribuyes, cita siempre su procedencia. Obra altruistamente tal como nosotros te lo ofrecemos tambin altruistamente. Gracias.</p> <p>ndice Presentacin Crear tu base de datos. Creacin de vnculos ODBC Creacin de tablas. Introduccin de valores en tablas PowerBuilder Creacin de ventanas Creacin y enlace de BBDD desde PowerBuilder DataWindow Generar aplicaciones con PowerBuilder ANEXOS Anexo 1: PowerScript: fundamentos del lenguaje Anexo 2: SQL Presentacin Existen muy pocos libros e informacin en espaol sobre PowerBuilder, por lo que la informacin sobre esta materia es realmente escasa. Por ello, he decidido comenzar a trabajar sobre un tutorial que presente esta RAD de una forma sencilla, para todos aqullos que ya poseen algn conocimiento de programacin. Para que le saques el mayor provecho a este tutorial, es necesario que poseas un conocimiento de los mens y de los conceptos de PowerBuilder, ya que este punto solo voy a tocarlo por alto. Ello es bien facil, puesto que por Internet existen varios documentos y artculos sobre los mens y sus funciones en PowerBuilder. Comenzar diciendo que PowerBuilder es una herramienta muy potente (de las mas potentes que existen en la actualidad para esta tarea, sino la que mas) para desarrollar bases de datos. Por lo tanto, PowerBuilder est orientado, sobre todo y ante todo, a bases de datos. En el presente tutorial desarrollaremos, valindonos de un ejemplo (que es como mejor se aprende) una pequea aplicacin que nos servir para trabajar con una base de datos, acceder a ella, y realizar ciertos trabajos con sus datos. Trabajaremos con PowerBuilder en su versin 10.5, si bien, aunque tu versin sea algo ms atrasada no importa, siempre y cuando no sea inferior a la 8.0 los cambios son mas que nada estticos. El tutorial est profusamente ilustrado, de manera que resulte mas fcil y rpido el aprendizaje.</p> <p>1</p> <p>Personalmente las versiones de PowerBuilder que considero mejores son las 5.0 y 6.0, creo que son las mas rpidas y las ms estables. No obstante, los tiempos actuales ponen sus modas y esto ha hecho que PowerBuilder haya cambiado y empeorado, en algunos aspectos, bajo mi punto de vista. An as, contina siendo la mejor herramienta para aplicaciones de bases de datos.</p> <p>Crear tu base de datos. En casi todas partes inician su trabajo presentandote a PowerBuilder y su ambiente de trabajo, y creando mas tarde las bases de datos. Creo que es un error, ya que mezclan conceptos y, didcticamente, es mas enrevesado de entender. PowerBuilder es una RAD, es decir, una aplicacin de desarrollo. Las bases de datos son otra cosa, y no deberan mezclarse, ya que podemos con trabajar con bases de datos ya creadas, del cliente, o que nosotros vayamos a crear despus. Y tal cosa a PowerBuilder no le importa en absoluto, porque es algo externo a l. Nosotros vamos a crear la base de datos con Sybase Central, una herramienta que se incorpora en la suite de PowerBuilder. Podemos crear las bases de datos de forma independiente, esto es totalmente flexible. Sin embargo, para un conocimiento ms profundo de lo que estamos haciendo, creo que es la mejor forma de empezar. Sigamos la ruta siguiente para abrir Sybase Central: programas/sybase/SQL Anywhere 9/Sybase Central. Nos aparecer una pantalla como esta:</p> <p>Vamos a empezar a construir la base de datos:</p> <p>2</p> <p>Hacemos clic en el tree view de la izquierda, seleccionamos adaptative server anywhere 9 (aqu estamos eligiendo un tipo de servidor virtual), y seleccionamos la pestaa de la parte derecha que lleva por nombre Utilities. Si trabajas con una versin anterior de Sybase Central, puede ser que las opciones no estn como aqu las ves, pero s que estn, y son las mismas. En versiones anteriores, por ejemplo, las Utilities las tienes en el propio Tree View, pero es lo mismo y cumplen la misma funcin. Elegiremos, con doble click, el campo Create Database. Aparece el siguiente cuadro de creacin de base de datos:</p> <p>A continuacin, introduce los datos tal como siguen:</p> <p>3</p> <p>Nos informa que se va a proceder a la creacin de la base de datos localmente (en la computadora), por lo que un servidor local, como hemos dicho antes, ser iniciado automticamente. Caso de que deseemos crear la base de datos en un servidor (si estuviramos conectado al mismo), nos aparecera en el listado inferior. Ahora nos pregunta dnde vamos a guardar la base de datos, junto con el nombre del archivo, fsico, que esta va a recibir. Pon el mismo nombre que ves en la imagen:</p> <p>4</p> <p>Le damos a Next y aparece la siguiente pantalla:</p> <p>5</p> <p>Aqu no hay nada que aadir, la explicacin es suficientemente clarificante. Sigamos: Le damos a Next en la siguiente pantalla, y seguimos dndole a Next hasta que aparezca:</p> <p>Nos pide que confirmemos instalacin para acceso a base de datos con profiles Java (JDBC driver), en caso de que no lo tengamos instalado. Como estos accesos Java suelen ser bastante lentos y, por el momento, conflictivos y arcaicos, lo mejor es que no instalemos nada, por lo que desmarcamos la casilla y pulsamos en Next.</p> <p>Deje los campos como en la imagen, y pulse Next:</p> <p>6</p> <p>Sigamos dndole a Next, para dejar todas las opciones por defecto (que no deberan modificarse a no ser que lo deseemos expresamente por alguna razn), hasta que nos encontremos con la siguiente pantalla:</p> <p>Llegados a este punto cabe destacar que es conveniente que anotemos, bien en un papel o en aplicaciones independiente, como RakEdit, todos los datos con los que estamos configurando nuestro acceso a base de datos y nuestra propia base de datos. Esto es primordial para modificaciones futuras, o para facilitarnos los trabajos de reestructuracin o remodelacin que puede que tengamos que llevar. Le damos al botn Finish para concluir la creacin de la base de datos. Ahora Sybase Central proceder a crear la base de datos propiamente dicha, a guardarla en disco, y a iniciarla. Si todo ha ido bien, nos tendr que aparecer un mensaje como este:</p> <p>7</p> <p>Ya podemos ver la base de datos creada y conectada desde Sybase:</p> <p>Creacin de vnculos ODBC Ahora vamos a crear el vnculo ODBC que servir de enlace con nuestra base de datos, aunque hay que mencionar que esto tambin puede ser llevado a cabo desde PowerBuilder. Aqu explicaremos un procedimiento, pasando, una vez estemos en el entorno de PowerBuilder, a explicar el otro, para que as sepas los pasos de todos. Para ello, volvemos a pinchar en Adaptative Server Anywhere, pestaa (o tab, para los puritanos) Utilities, y seleccionamos, en lugar de Create Database, como hemos hecho antes, la ltima opcin de la List, que es Open ODBC Administrador:</p> <p>8</p> <p>Le damos doble clic y nos aparece una ventana como la siguiente:</p> <p>Bien, no nos asustemos, aqu nos aparecen muchas cosas (y algunas que son basura de mi propio ordenador, tranquilos). Esta es la gestin de todas las bases de datos, desde aqu podremos eliminarlas y gestionar sus accesos. Nosotros le damos al botn Agregar del tab DSN de usuario (el primer tab):</p> <p>9</p> <p>Seleccionamos Adaptative Server Anywhere 9.0 (u la versin del ASA con que estemos trabajando), y le damos al botn Finalizar. Nos aparece una ventana con muchas cosas, as que tranquilidad, que an ni hemos abierto PowerBuilder ni siquiera hemos enlazado el ODBC con l, de modo que paciencia, que el mundo no se hizo en dos dias:</p> <p>Data source name es un nombre para los datos, y Description es eso, solamente una pequea descripcin de la base de datos. Rellene los campos tal como ve aqu:</p> <p>10</p> <p>En la siguiente pestaa nos solicitar un login y un password. Esto es muy importante, y son los datos de acceso que usaremos despus con PowerBuilder, de modo que recuerde anotarlo todo:</p> <p>Nosotros pondremos como en la figura, es decir, en UID (user ID) DBA, y en Password, SQL.</p> <p>Vayamos a la siguiente pestaa. Aqu nos pide que introduzcamos el archivo bd (base data) que hemos creado antes con Sybase, o que ya tengamos en disco previamente. Lo localizamos y se lo introducimos. En Database name le vamos a poner basedatos2, como hicimos al crearla. Las dems son opciones que no necesitamos, por lo que le damos al botn Aceptar para finalizar el enlace ODBC. Nos aparecer nuestra nueva base de datos en la DSN de usuario:</p> <p>11</p> <p>Cabe sealar que, en algunos casos, deberemos tambin incluir la base de datos en el DSN de sistema. Si es as, solamente tenemos que seguir los pasos ya explicados, pero en la segunda pestaa. Si nos hemos equivocado en algo, o queremos modificar algo, solamente tendremos que elegir la base de datos por su nombre, y seleccionar el botn configurar. Creacin de tablas. Como es de suponer, una base de datos no sirve de nada si dentro no posee informacin almacenada. Por ello, vamos a crear dos sencillas y simples tablas en donde aadiremos datos. Como an tenemos Sybase Central abierto (y si lo has cerrado, tendrs que abrirlo de nuevo y conectarte a la base de datos de nombre basedatos2 desde la ruta file/connect , teniendo, previamente, seleccionada en el tree view el Adaptative Server Anywhere 9). Antes de crear las tablas, refresquemos la memoria sobre lo que son y cmo se organiza la informacin en ellas. La tabla de una base de datos es una coleccin de informacin homognea (relacionada entre si). Los elementos de esta informacin se denominan registros, cada registro esta conformado por idntico nmero y tipo de campos. Cada campo tiene asociado un nombre; por el que se identifica, y un tipo de dato, que especifica la informacin que podr almacenar dicho campo. Una Tabla puede tener 0 o ms registros y la definicin de un registro deber contar con al menos un campo. Clave Primaria La clave primaria ('Primary Key') es el(los) campo(s) que permiten identificar a un registro. Clave Fornea</p> <p>12</p> <p>La clave fornea (Foreign Key) es un(os) campo(s), cuyo valor(es) deben estar presente en otra Tabla y los campos de esta segunda Tabla deben ser (o formar parte) de la Clave primaria. Esto ltimo permite definir una relacin de integridad entre los datos; la existencia de el dato en la primera Tabla esta condicionado a la existencia de el(los) mismo(s) dato(s) en la segunda Tabla. Indices Los ndices ('Index') se definen para mejorar la bsqueda y seleccin por parte del motor de Base de Datos. Una Tabla puede tener varios ndices definidos, o tener ninguno. Cada ndice se crea para uno o ms campos, estos ltimos se llaman "Indices compuestos". Toda esta gestin la llevaba muy fluidamente a cabo PowerBuilder hasta su versin 8.0, aproximadamente. A partir de ah la configuracin y definicin es bastante mas compleja y es muy facil perderse. Nosotros vamos a crear tres tablas. La primera almacenar una serie de usuarios y, dependiendo de esos usuarios, aparecern unos datos u otros. La segunda almacenar unos niveles por los que esos usuarios tendrn privilegios o no. Es decir, en la tabla Usuarios incorporaremos: usu_nivel usu_login usu_pass usu_activo usu_num En la tabla Privilegios incorporaremos: priv_nivel priv_descripcion Este es un ejemplo bastante comn de acceso por niveles, y se suele usar en diferentes tratamientos de bases de datos.</p> <p>Para crear la tabla, vayamos a Sybase Central, seleccionamos nuestra base de datos (basedatos2), despus la carpeta Tables, y pulsamos el icono new table, o tambin podemos hacer lo mismo con clic derecho sobre el campo Tables de la derecha. En cualquiera de estas formas, nos aparecer lo siguiente:</p> <p>13</p> <p>El nombre de la tabla, y le seguimos dando a Next, dejando todos los valores sin modificar nada, hasta que tengamos los campos de la tabla listos para editar. Por defecto, el primer campo ser una clave primaria, por lo que no podr estar repetido. Esto, por supuesto, es opcional, pero a nosotros nos viene de perlas. Introduce los campos tal como estn a continuacin:</p> <p>Para ingresar nuevas columnas, pulsa con el botn derecho del ratn sobre la tabla:</p> <p>Al final de la introduccin de los datos, debers guardar los cambios pulsando sobre guardar tabla:</p> <p>14</p> <p>Ahora procedamos a crear la tabla de Privilegios. Aunque en la figura no aparezca, sealemos como clave Primary Key (PKey) el campo priv_nivel:</p> <p>Introduccin de valores en tablas Tras ello, vamos a rellenar los registros, introduciendo una serie de datos. Para ello, podemos editar las tablas desde el ltimo tab (Data), y pulsando sobre el botn + o con clic derecho sobre el campo vaco:</p> <p>En la tabla Privilegios introduciremos:</p> <p>En la tabla Usuarios introduciremos:</p> <p>Bien, ya tenemos nuestras tablas creadas y podemos empezar a trabajar con ellas sobre PowerBuilder.</p> <p>15</p> <p>PowerBuilder Lo primero que tendremos que hacer es crear un espacio de trabajo (workspace). Clic en archivo/nuevo y seleccionamos Workspace (el primer tab). Nos pedir un nombre, lo guardaremos como ws_bd2. Una vez creado nos aparecer en el tree view:</p> <p>Creamos ahora la aplicacin propiamente dicha, sobre el workspace. Nuevo y seleccionamos el segundo tab (target), y el icono Application:</p> <p>Rellene los campos de la ventana de la aplicacin tal como aqu aparecen:</p> <p>Podemos desplegar el TreeView, donde nos aparecen todos los archivos y complementos de la aplicacin, junto con todo lo que esta incorpora:</p> <p>16</p> <p>Podemos acceder al nombre de todos sus eventos y propiedades que contenga, desplegando las carpetas bajo el nombre de la propia aplicacin (aunque esto no siempre funciona, esperemos que en futuras versiones corrigan ciertos bugs del IDE). Creacin de ventanas Insertemos ahora una ventana, donde iniciaremos los parmetros de nuestra aplicacin de acceso a bases de datos. Para ello, vayamos a New, pestaa PB Object (Power Builder Object) y seleccionamos Window. En Propiedades (a la derecha), pongamos de nombre Ventana Inicio. Pulsando el botn Guardar (arriba, a la izquierda), le ponemos de nombre a la ventana w_inicio:</p> <p>Procedamos ahora al diseo de la ventana de acceso tal como sigue:</p> <p>17</p> <p>El primer Single Line Edit lo llamaremos sle_login, el siguiente (el del Password), lo llamaremos sle_pass. En properties (propiedades), clickearemos el box mask para activarlo, de modo que cuando introduzcamos el password las letras no se visualicen como tales. El botn Aceptar lo llamaremos cb_aceptar, y el Cancelar, cb_cancelar. Al botn Aceptar le activaremos el check default. Ahora crearemos otra ventana, y la llamaremos...</p>