Anda di halaman 1dari 18

Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 1



MANTENIMIENTO DE DATOS CON DATAWINDOW

Introduccin

Esta sesin abarca el desarrollo de un mantenimiento de datos usando una sola
tabla independiente o tabla primaria .Siguiendo la sesin anterior haremos uso de
la base de datos Transportes de SQLServer la cual contiene la tabla ciudad.


Estableciendo Conexin en Etapa de Diseo

Teniendo la base de datos de Transportes, hay que establecer la conexin en la
etapa de diseo usando el pintor del Database para luego poder crear el objeto
datawindow.




Dar clic en DataBase

Se muestra a continuacin el pintor del DataBase



Asumiendo que el ODBC para la base de datos de Transportes es odbcTransportes,
vamos a continuacin a crear un ProFile (archivo de proveedor):

Tabla Independiente o Tabla Primaria
Aqu iniciamos la creacin del ODBC
odbcTransportes para una base de
datos MySql desarrollado en la
sesin anterior
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 2

a) Seleccionar el componente ODBC y dar clic botn derecho.



b) Una vez seleccionado New Profile se muestra la ventana DataBase ProFile Setup
ODBC.


c) Una vez dado clic en el botn de comando OK se muestra el profile en el pintor
del DataBase.

Seleccionar New Profile para
crear un nuevo Profile
1. Indica como nombre del
ProFile: prfTransportes
2. Seleccionar el origen de
datos (ODBC) odbcTransportes
3. Luego dar clic con el botn
de comando OK
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 3



Ahora procedemos a establecer la conexin en la etapa de diseo.
Selecciona el archivo profile pretransportes y dar clic con el botn derecho.



d) El pintor DataBase muestra la conexin donde se pueda observar las tablas de
la base de Transportes.




Diseo del Objeto Datawindow

Se observa el archivo profile
prfTransportes
Dar clic en Connect y se
establece la conexin con la
base de datos Transportes.
Se debe observar la tabla
Ciudad en la carpeta Tables.
Ya existe la conexin en la
etapa de diseo.
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 4

Teniendo la conexin en la etapa de diseo con la base de datos Transportes
procedemos a continuacin a disear el objeto datawindow d_ciudad.

a) Cerrar la ventana del pintor del DataBase y estando en el entorno de Power
Builder, dar clic en la opcin New de la barra de herramientas.



Selecciona New

Te muestra la siguiente ventana




Selecciona la ficha Datawindow

b) Se muestra los formatos de presentacin de datos. Selecciona el formato Grid y
dar clic en OK.

Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 5


c) Se observa la ventana Choose Data Source for Grid Datawindow, donde se
selecciona la forma de obtener los datos.
Quick Select: usado para seleccionar datos provenientes de una tabla
Sql Select: usado para seleccionar datos de varias tablas
Query: usado para establecer una consulta
External: usado para construir tablas temporales
Stored Procedure: usado para obtener datos de procedimientos almacenados.
Dado que vamos a trabajar con la tabla de Ciudad seleccionamos Quick Select.



d) Se visualiza la ventana Quick Select

1. Seleccionar
2. Dar clic en OK
1. Seleccionar
2. Dar clic en el
botn de
comando Next
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 6



Al momento de seleccionar la tabla Ciudad se muestra sus campos, luego
procedemos a seleccionar todos los campos que puede ser seleccionando campo
por campo o dando clic en el botn de comando Add All.



e) Luego de dar clic en el botn de comando OK se muestra la ventana Select
Color and Border Setting, donde se muestra y se puede cambiar los valores de
las propiedades de presentacin de datos. Solo procede a dar clic en el botn de
comando Next.

Seleccionar
ciuadad
1. Seleccionar
2. Dar clic aqu
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 7



f) Posteriormente se muestra un reporte de los valores de las propiedades de
presentacin de datos. Daremos clic en el botn de comando Finsh.


g) Ahora se muestra el pintor del Datawindow y procedemos a establecer la
tabulacin de las columnas del datawindow necesario para desplazarse en las
columnas de un objeto control datawindow.


Clic en Tab Order
Cambiar los valores de la tabulacin:

Dar clic en Next
Dar clic en el botn
de comando Finish
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 8



Cambiar por 10 Cambiar por 20

Luego dar clic en Tab Order nuevamente para desactivar los nmeros 10 y
20.

h) Ahora procedemos a usar la opcin del men Rows y luego la opcin Update
Properties



Se muestra la siguiente ventana:

Dar clic aqu
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 9



Se activa el checbox Allow Updates (propiedades de grabacin), luego se
selecciona Use Update para establecer que el datawindow es capaz de
realizar el proceso de grabacin. Posteriormente se elige las columnas donde
se grabaran los datos, es decir, seleccionamos a idciudad y nombre. A
continuacin se selecciona la columna que sea clave nica como es idciudad
y finalmente seleccionar la tabla ciudad en Table to Update, donde se indica
la tabla donde se graba.

Esta ventana debe quedar as:



i) Se procede a grabar con el nombre d_ciudad.

1. Activar el checkbox
2. Seleccionar Use Update
3. Seleccionar idciudad y
nombre
4. Seleccionar solo idciudad
5. Seleccionar la tabla
Ciudad
Dar clic en el botn de
comando OK
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 10


Dar clic en Grabar (disquete)

j) Al dar clic en Grabar se muestra la ventana Save Datawindow.


k) Se procede a cerrar la ventana del pintor de datawindow. En el entorno de
Power Builder puede verse as:



Objeto datawindow d_ciudad Panel de visualizacin


1. Colocar aqu: d_ciudad
2. Dar clic en el botn de
comando OK.
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 11



Diseando la ventana para la Aplicacin

Teniendo el objeto datawindow d_ciudad procedemos a disear el objeto ventana
w_mant_ciudad, pero antes vamos a crear objetos ventanas usando herencia.

a) Vamos a crear ventanas segn el diagrama siguiente:


















b) Procedemos a disear la ventana w_mantenimiento, la cual esta compuesto por
un objeto control datawindow y 7 objetos de tipo botn de comando.



Los objetos de control tendrn los nombres como se indica en el siguiente
diseo:



herencia
w_mantenimiento
w_mant_ciudad


Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 12



cb_agregar cb_buscar cb_modificar cb_grabar cb_eliminar cb_cancelar cb_salir
c) Los scripts de cada uno de los objetos de control son:

Objeto: w_mantenimiento Evento: Open
dw_mantenimiento.SetTransObject(sqlca)
dw_mantenimiento.Retrieve()


Objeto: dw_mantenimiento Evento: Clicked
cb_eliminar.enabled=true


Objeto: dw_mantenimiento Evento: rowfocuschanged
If This.RowCount()>0 Then
This.SelectRow(0,false)
This.SelectRow(GetRow(),True)
End If


Objeto: cb_agregar Evento: Clicked
Integer nfila
dw_mantenimiento.Enabled=True
cb_agregar.Enabled=False
cb_modificar.Enabled=False
cb_eliminar.Enabled=False
cb_grabar.Enabled=True
nfila=dw_mantenimiento.InsertRow(0)
dw_mantenimiento.ScrollToRow(nFila)
dw_mantenimiento.SetFocus()
dw_mantenimeinto.SetColumn(1)


Objeto: cb_modificar Evento: Clicked
dw_mantenimiento.Enabled=True
dw_mantenimiento.SetFocus()
cb_agregar.Enabled=False
cb_modificar.Enabled=False
cb_eliminar.Enabled=False
cb_grabar.Enabled=True
Objeto: cb_ grabar Evento: Clicked
Integer nRet
cb_grabar.Enabled=False
dw_mantenimiento
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 13

cb_agregar.Enabled=True
cb_grabar.Enabled=True
nRet=dw_mantenimiento.Update()
If nRet > 0 then
Commit;
If sqlca.SQLCode<0 then
MessageBox("Error en la base de datos","Error "
+String(sqlca.SQLDBCode)+":"+sqlca.SQLErrText)
Halt Close
End If
Else
Rollback;
If sqlca.SQLCode<0 then
MessageBox("Error en la base de datos","Error "
+String(sqlca.SQLDBCode)+"."+sqlca.SQLErrText)
Halt Close
End If
End If
dw_mantenimiento.TriggerEvent(RowFocusChanged!)



Objeto: cb_eliminar Evento: Clicked
int resp
resp = MessageBox("Eliminar ","Esta seguro de eliminar fila",
StopSign!,YesNo!,2)
if resp = 1 then
cb_eliminar.Enabled=False
dw_mantenimiento.DeleteRow(0)
dw_mantenimiento.Update()
End if
If dw_mantenimiento.rowcount()=0 then
cb_agregar.TriggerEvent(clicked!)
End if

Objeto: cb_cancelar Evento: Clicked
dw_mantenimiento.Retrieve()
cb_agregar.Enabled=True
cb_modificar.Enabled=True
cb_grabar.Enabled=False
cb_cancelar.Enabled=True
cb_salir.Enabled=True
cb_eliminar.Enabled=False
dw_mantenimiento.Enabled=True
dw_mantenimiento.TriggerEvent(RowFocusChanged!)


Objeto: cb_salir Evento: Clicked
Close(parent)

d) Los botones de comando cb_grabar y cb_eliminar su propiedad enabled debe
estar inhabilitado

Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 14



e) Procedemos a grabar este diseo de ventana como w_mantenimiento. Una vez
grabado cerramos el pintor de ventana w_mantenimiento para luego iniciar la
herencia.



Dar clic en inherit

f) Al dar clic en Inherit se muestra la siguiente ventana:






2. Selecciona el objeto
w_mantenimiento
3. Dar clic en OK
1. Selecciona Windows
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 15

g) Vamos a proceder a usar la propiedad DataObject del objeto control datawindow



Dar clic aqu
Luego de dar clic se muestra la siguiente ventana:



h) El pintor de ventana queda as:


1. Seleccionar d_ciudad
2. Dar clic en OK
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 16


i) Vamos a agregar un objeto de control statictext en la parte superior del objeto
de control datawindow que exprese: MANTENIMIENTO DE CIUDAD.



j) Procedemos a grabar la ventana como w_mant_ciudad. Una vez grabado,
cerramos el pintor de ventana.
k) Abrimos el pintor del DataBase. Dar clic botn derecho sobre prfTransportes















Seleccionar Properties
Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 17

l) Se muestra la ventana DataBase Profile Setup y luego dar clic en la ficha
Preview





















Dar clic en el botn de comando Copy

m) Despus de dar clic en Copy, luego dar clic en el botn de comando OK, se
procede a cerrar el pintor del DataBase. Posteriormente abrir el pintor de
Aplicacin transporte y en la vista de script, en el evento Open, colocar la
siguiente programacin (pegar lo que se logr con Copy):

Objeto aplicacin Transporte Evento: Open



Luego agregar las lneas de programacin:



Taller de Programacion Distribuida

Ing. Ysmael Rivas Uriol Pgina 18



n) Ahora queda slo ejecutar la primera aplicacin con base de datos. Solo dar cilc
en Run.




Dar clic en Run


AUTOEVALUACION


1. Crea la tabla denominada Marca en la base de datos de Transportes con la
siguiente estructura:

idmarca char(2)
descripcin varchar(20)
pas varchar(20)

Construye una aplicacin que permita el mantenimiento de la tabla Marca
utilizando el objeto w_mantenimiento y a partir de este objeto heredar y crear
el objeto w_mant_marca.

Anda mungkin juga menyukai