Sunteți pe pagina 1din 8

Gestin de datos en PowerBuilder stin

Para finalizar nuestro ejemplo anterior crearemos la ultima ventana que contendr estadsticas de los jugadores llamada w_estadstica, en su interior pondremos un botn que nos permitir exportar los datos , visualizados. Presionamos CTRL+N y creamos un nuevo DataWindow de tipo Grid.

Ilustracin 1: Creacin de nuevo DataWindow.

Ahora seleccionamos las tablas datos_plantel equipo y jugador, obteniendo los datos de las tablas que se datos_plantel, muestra a continuacin.

Ilustracin 2: Seleccin de datos del DataWindow.

Ahora arreglaremos nuestro DataWindow y lo guardaremos con el nombre d_estadistica en la librera informacin.

Ilustracin 3: Diseo dataw datawindow d_estadistica.

En w_estadistica insertamos un control de tipo DataWindow y en su propiedad llamada DataObject seleccionamos el DataWindow que creamos anteriormente.

Ilustracin 4: Diseo ventana w_estadistica.

Insertamos dos botones, uno para exportar la consulta y otro para salir de la ventana. El cdigo de w_estadistica en la funcin open debe ser: dw_1.settransobject(sqlca); dw_1.retrieve(); El script para el botn Exportar es el que se ve a continuacin. dw_1.saveas() El botn Finalizar tendr lo siguiente: ndr close(w_estadistica) Al ejecutar el programa con CTRL+R, se podr ver que la ventana de estadistica muestra los daros de los jugadores y el botn Exportar permite guardar dichos datos en los formatos soportados por PowerBuilder.

Ilustracin 5: Programa en ejecucin.

El archivo exportado a Excel se visualiza en la siguiente imagen:

Ilustracin 6: Exportacin a Excel de las estadsticas.

Gestin de datos en PowerBuilder (parte 2).

Continuando con nuestro ejemplo anterior, la ventana de logueo al sistema debera ser de la siguiente , forma.

Ilustracin 1: Logueo al sistema.

Una ves logueado al sistema, se abrir la ventana llamada w_fondo, la cual contiene un men que re , direcciona al lugar solicitado.

Ilustracin 2: Men general del sistema.

Al seleccionar del men la opcin Gestionar Jugadores se abrir w_jugadores, en esta ventana se , visualizan todos los jugadores en el DataWindow superior y en el DataWindow inferior un detalle personal del jugador seleccionado.

Ilustracin 3: Men gestionar jugadores.

Antes de continuar necesitaremos crear dos funciones para habilitar y deshabilitar los controles, las funciones funciones las vamos a hacer locales. En la solapa de function list de la ventana w_jugadores hacemos clic derecho en Add para agregar una nueva funcin. Le pondremos a la funcin el nombre poner_on, el acceso debe ser Public. cceso

Ilustracin 4: Funcin poner_on.

El objetivo de esta funcin es de encender o habilitar los botones, tendremos otra funcin que haga lo inverso, el script deber lucir algo as.

Ilustracin 5: Funcin poner_off.

Ahora bien crearemos dos funciones para habilitar y deshabilitar los Tab border ( ampos de la tabla). s La primera funcin la llamaremos campos_on, en ella habilitaremos los campos de id equipo, nombre , jugador y posicin del jugador.

Ilustracin 6: Funcin campos_on.

En la funcin campos_off deshabilitaremos todos los campos del segundo DataWindow.

Ilustracin 7: Funcin campos_off.

Ahora que nuestras funciones estn listas procederemos a escribir el script para el botn Nuevo. int i long ll_nueva_fila ) ll_nueva_fila = dw_2.insertrow(0) poner_off() campos_on() dw_2.scrolltorow(ll_nueva_fila) dw_1.selectRow(0,false) dw_1.selectRow(ll_nueva_fila,true) dw_1.scrolltorow(ll_nueva_fila) dw_1.setrow(ll_nueva_fila) dw_2.setfocus() dw_2.setcolumn(1) Insertrow(0) inserta una nueva fila al final de la DataWindow, eso es lo que indica el cero, si ta quisiramos insertar entre registros podramos utilizar insertrow(2), siempre y cuando el valor sea menor que el rowcount(). El script del botn Editar es el siguiente: poner_off() campos_on() dw_2.setFocus() dw_2.setColumn(1) Para el botn Eliminar pondremos: poner_off() dw_2.deleterow(dw_2.getrow())

La funcin Deleterow() es la encargada de borrar de la DataWindow el nmero de registros que le asignemos. El botn Cancelar tendr el siguiente script: rollback using sqlca; dw_1.retrieve(); dw_2.scrolltorow(1); lf_poner_on() lf_campos_off() messagebox("Mensaje del Sistema *** PB en Javalea","Su transaccin fue anulada!!!") Primeramente el Rollback using sqlca; lo que hace es anular todas las transacciones hechas y que se encontraban pendientes de ejecutar en la Base de datos. El parmetro using sqlca es porque cuando establecimos nuestra conexin utilizamos sqlca como rea de comunicacin Finalmente el botn de Guardar tendr el script que se ve a continuacin. int lb_commit dw_2.accepttext() lb_commit = dw_2.update() IF lb_commit =1 THEN COMMIT USING SQLCA; ELSE messagebox("Mensaje del Sistema *** PB en Javalea","Su transaccin fue anulada!!!") ROLLBACK USING SQLCA; END IF poner_on() campos_off() Analizando el script, la funcin accepttext es bueno considerarla al momento de grabar las transacciones en la Base de datos, esta funcion traslada el valor que se ve en la pantalla, a la columna fsica en el DataWindow. Con update le decimos que grabe todas las transacciones pendientes emitidas despus del ultimo Rollback o Commit. Para poder ejecutar los comandos SQL es necesario activar la opcin Allow Update, en el panel de los DataWindow > Rows > Update Properties.

Ilustracin 8: Activar Allow Update.

Para la ventana w_equipo, debemos hacer lo mismo que hemos hecho para el men w_jugadores. ,

Ilustracin 9: Men gestionar Equipos.

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