Sunteți pe pagina 1din 5

Configurar objeto de transaccin y conectarse El objeto transaccin es el objeto que permite conectar una aplicacin Power Builder con

una base de datos. Este objeto controla la conexin y los posibles errores que puedan suceder entre la apl icacin y la base de datos. El objeto transaccin como vimos en la primera parte, se configura segn el tipo de base de datos a la cual nos vamos a conectar. Para este ejemplo nos vamos a conectar a la base de datos loca l que powerbuilder instala por defecto (SQL Anywhere). Normalmente el objeto transaccin (transaction) se configura y se conecta cuando s e inicia la aplicacin, es decir en el open de la aplicacin. Para hacer esto abra el objeto aplicacin (file/open/ap lication) en el evento open donde esta el cdigo de abrir la ventana inicial, borrelo y remplace por este cdigo : // Profile EAS Demo DB V4 SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.DBParm = "ConnectString='DSN=Residentes;UID=dba;PWD=sql'" Connect using SQLCA;

If sqlca.sqlcode = 0 then Messagebox( Conexin a la base de datos , La conexin a la base de datos fue exitosa ) Open(w_inicial) else messagebox( Error , No se pudo conectar debido al siguiente problema +sqlca.sqlerrtext) end if --------------------------------------5. Desconectarse de la base de datos Normalmente el objeto transaccin (transaction) se desconecta cuando se termina la aplicacin, es decir en el evento close de la aplicacin. Para hacer esto abra el objeto aplicacin (si ya esta abierto solamente seleccione el evento close) coloque este cdigo: Disconnect; --------------------------------------6. Crear objeto datawindow El objeto datawindow (dwo) es uno de los mas importantes objetos de power builde r y sirve para mostrar, y editar informacin de una o varias tablas de la base de datos. Para los programado res de otros lenguajes es una especie de grilla (en VB), pero con la diferencia que el datawindow es un objeto

muchsimo mas rpido, sofisticado y poderoso. Ahora vamos a crear una ventana. Para esto siga los siguientes pasos: Click en el botn New Seleccione el quinto tab (Datawindow) de la ventana New Seleccione Grid Haga clic en OK Luego se selecciona la fuente de datos de donde se va a crear el datawindow El datawindow puede crearse a partir de diferentes fuentes de datos, entre las q ue estn: 1. 2. 3. 4. 5. ) Una sola tabla de la base de datos (Quick Select) Varias tablas de la base de datos(SQL select) Una consulta SQL ya guardada con anterioridad (Query) No usar ninguna tabla de la base de datos(external) A partir de un procedimiento almacenado de la base de datos (stored procedure

- Seleccionamos quick select, por que vamos a crear el datawindow de una sola ta bla y clic en siguiente - Luego aparece un listado de todas las tablas de la base de datos y seleccionam os la tabla contact - Luego de seleccionar la tabla seleccionamos los campos que vamos a mostrar en el datawindow. Para este ejemplo los vamos a seleccionar todos, para esto haga clic en add all. - Seleccione Luego OK - Seleccione el color de fondo, del texto y de las columnas del datawindow y hag a clic en siguiente - Haga clic en finish Luego de dar clic en finish PB abre el pintor (painter) de datawindows, que nos permite editarlo. Ahora guardamos nuestro objeto datawindow con el nombre d_contact as: Luego cerramos el datawindows painter con CTRL.+W ---------------------------------------7 Crear control datawindow Ahora vamos a mostrar el datawindow en la ventana que habamos creado. Para esto d ebemos abrir la ventana y adicionar un CONTROL datawindow. EL control datawindow es diferente al objeto datawindow. El controldatawindow es una especie de contenedor grfico o lugar en donde se pond

r un objeto datawindow. Para hacer esto siga los siguientes pasos: Abra la ventana - Clic en abrir o CTRL.+O - Seleccione objetos de tipo ventana (objects of type windows) - Seleccione la ventana w_inicial - Haga clic en OK Ahora adicione de la lista de controles un control datawindow: Luego de seleccionar el control haga clic encima de la ventana y aparecer un nuev o control. Este nuevo control PB automticamente lo llama dw_1. Seleccinelo y agrndelo al tamao de su ventana. En la barra de propiedades a la izquierda seleccione las opciones de: Barra de desplazamiento horizontal (Hscrollbar) y Barra de desplazamiento vertical (Vscrollbar) ----------------------------------------8 Asignar el Objeto datawindow en el Control datawindow En la barra de propiedades haga clic en dataobject y seleccione el objeto datawi ndow (datawindow object) que creamos previamente (d_contact) Guarde los cambios hasta ahora con CTRL.+S -----------------------------------------9. Conectar el datawindow control a la base de datos Luego de haber configurado el datawindow control es necesario que se conecte a l a base de datos por medio del objeto de transaccin por defecto de PB que se llama SQLCA. Este objeto ya previam ente lo configuramos y lo conectamos a la base de datos. Para hacer esto haga lo siguiente. - Haga click derecho en la ventana y seleccione script - En el open de la ventana escriba el siguiente cdigo: dw_1.settransobject(sqlca) dw_1.retrieve()

La funcin settransobject se usa para que el datawindows object sepa que objeto de transaccin usa para conectarse a la base de datos. ---------------------------------------10. Traer y mostrar los datos de la tabla en el Datawindow La funcin Retrieve se usa para traer los datos desde la base de datos al datawind ow ----------------------------------------11, Personalizar la ventana y Los Botones Para darle una mejor apariencia a la ventana, vamos a personalizarla y cambiar e l texto de la barra de ttulo de la ventana (untitled) por Ventana de Contactos. Y el Botn de Salir le colocamos sali r en lugar de none. Para cambiar el ttulo de la ventana haga click en cualquier parte de la ventana y en la parte derecha, en las propiedades de la ventana en la propiedad Title remplace untitled por Ventan a de Contactos. Para cambiar el texto del botn haga clic en el botn y en la parte derecha, en las propiedades del botn en la propiedad Text remplace none por &Cerrar (El ampersand se usa para dar un acceso rpido por la tecla C, es decir el texto del botn quedara Cerrar y la tecla rpida en lugar de dar le clic sera ALT+C) ----------------------------------------12. Insertar registros Para insertar registros, lo vamos a hacer desde un botn. Inserte un botn ( Desde l a barra de herramientas seleccione un botn o en el menu insert/control/commandButton), luego Haga clic derecho sobre el botn y seleccione script En el script del botn en el evento clicked (evento por defecto) escriba lo siguie nte: o Dw_1.insertrow(1) Esta instruccin inserta un registro en la primera fila. Si desea insertar al fina l en lugar de 1 coloque 0. -------------------------------------------13. Borrar registros Para borrar registros, lo vamos a hacer tambin desde un botn. Inserte un botn ( Des de la barra de herramientas seleccione un botn o en el men insert/control/commandButton), lueg

Haga clic derecho sobre el botn y seleccione script En el script del botn en el evento clicked (evento por defecto) escriba lo siguie nte: o Dw_1.deleterow(dw_1.getrow()) Esta instruccin borra el registro donde se ubique el usuario. Si desea borrar una fila especifica en lugar de dw_1.getrow() coloque el numero de la fila a borrar. ----------------------------------------------14. Actualizar la tabla Ahora viene la mejor parte de PowerBuilder con los datawindows, que hace que el manejo de datos sea muy sencillo. Resulta que Powerbuilder traduce todos los cambios realizados con los datos a pa rtir del retrieve de los datos hasta la actualizacin en inserts, delete o update en cada caso. Es decir si usted inserto una fila, borro otra, y cambio algunos datos existentes, el datawindow se encarga automticamente de hac er todo lo necesario para que la informacin quede en la base de datos. Para actualizar los datos, lo vamos a hacer tambin desde un botn. Inserte un botn ( Desde la barra de herramientas seleccione un botn o en el men insert/control/commandButton), luego Haga clic derecho sobre el botn y seleccione script En el script del botn en el evento clicked (evento por defecto) escriba lo siguie nte: If Dw_1.update(true) = 1 then Commit; Else Rollback; End if Esta instruccin hace commit si actualizar estuvo bien o rollback si existio un er ror.

S-ar putea să vă placă și