Manipulacion de Registros

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

MANIPULACION DE REGISTROS DEL CONTROL DATAWINDOW

FUNCIONES PARA LA MANIPULACION:


Power

Builder

proporciona

varias

funciones

para

manipular

controles

Datawindows. Entre las ms usadas tenemos:

GetRow()
Devuelve el nmero de la fila actual.
Retrieve()
Recupera las filas especificadas por la seleccin de la Base de Datos.
RowCount()
Retorna o cuenta el nmero de filas o registros en el DataWindow.
SelectRow()
Destaca la fila seleccionada.
SetRow()
Hacer que una fila sea la actual.
ScrollToRow()
Desplaza el control a la fila especificada entre los parntesis.
ScrollPriorRow()
Cambia el control a la fila anterior.
ScrollNextRow()
Cambia el control a la fila siguiente.
ScrollPriorPage()
Va a la pgina anterior.

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

ScrollNextPage()
Va a la siguiente pgina.
Ahora veremos las principales funciones para darle mantenimiento a los
registros:

Aadir
Para aadir un nuevo registro se utiliza la siguiente funcin:
<nom Dw>.InsertRow(<pos>)
Donde:
<nom Dw> es el nombre del Datawindow Control.
<pos> Es la posicin, dentro del nmero de registros mostrados en el
Datawindow Control, donde se insertara el nuevo registro. Si <pos>= 0, aade
un registro al final de los ya existentes. El aadir un registro, para ser llenado
los datos de los campos por el usuario, no implica que el foco se mueva a este
nuevo registro.
Ej.
dw_nuevo.InsertRow(1)

Grabar
Debe indicrsele que traspase la informacin modificada/eliminada/ actualizada,
desde el Datawindow Control a la Base de Datos.
Para esto utilice la siguiente funcin:
<nom Dw>.Update( )
Donde: <nom Dw> es el nombre del Datawindow Control.
Esta funcin devuelve un valor, -1 si un error ocurri

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Ej.
If dw_nuevo. Update( ) <> -1 then Commit ;
Else
Rollback ;
End If
Obs.
La sentencia Commit, guarda los cambios permanentemente en la Base de
Datos.
La sentencia Rollback deshace todas las modificaciones hechas en la Base de
Datos, esto siempre se debe hacer si se encuentra un error.

Eliminar
Para eliminar un registro debe conocer cual es la posicin, dentro del nmero de
registros mostrados en el Datawindow Control, del registro a eliminar.
Esto se hace, con la siguiente funcin:
<nom Dw>.DeletedRow(<pos>)
Donde:
<nom Dw> es el nombre del Datawindow Control.
<pos> es la posicin del registro a eliminar. Si desea eliminar el
registro donde esta el foco (cursor actualmente), utilice la
posicin 0.
Ej.
dw_nuevo.DeletedRow(0)

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

MOVIMIENTO Y MANTENIMIENTO DE REGISTROS

Hacer el siguiente diseo, puede usar un Objeto Datawindow relacionado con


cualquier tabla ya que la codificacin que vamos a realizar se aplica a cualquier
grupo de registros que se encuentren en el Control DataWindow dw_1

En nuestra aplicacin anterior en la que tenemos un Control DataWindow


relacionado con un Objeto DataWindow, le vamos a agregar 2 controles
GroupBox:
En el primero insertaremos 4 Commandbutton que nos servirn para
hacer el desplazamiento de los registros, les daremos por nombres
cb_primero, cb_anterior, cb_siguiente, cb_ultimo, y por ttulos Primero,
Anterior, Siguiente, Ultimo.
En el segundo insertaremos 6 Commanbutton que nos servirn para hacer
el mantenimiento de los registros. Llamarlos cb_Agregar, cb_Editar,
cb_Grabar, Cb_Eliminar, cb_Cancelar, Cb_Imprimir. Darles los ttulos

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

correspondientes.

Desactivar

los

botones

cb_grabar

cb_cancelar

mediante la propiedada Enabled.


Hacer la siguiente codificacin para cada botn de comando en el evento Clicked
Cb_primero
dw_1.ScrollToRow(1)
dw_1.setfocus()
cb_Primero.enabled=false
cb_Anterior.enabled=false
cb_siguiente.enabled=true
cb_ultimo.enabled=true
Cb_anterior
dw_1.ScrollPriorRow()
dw_1.setfocus()
If dw_1.getrow() > 1 THEN
cb_Primero.enabled=true
cb_Anterior.enabled=true
cb_siguiente.enabled=true
cb_ultimo.enabled=true
Else
cb_Primero.enabled=false
cb_Anterior.enabled=false
End If
Cb_Siguiente
dw_1.ScrollNextRow()
dw_1.setfocus()
If dw_1.getrow() < dw_1.rowcount() THEN
cb_Primero.enabled=true
cb_Anterior.enabled=true
cb_siguiente.enabled=true
cb_ultimo.enabled=true
Else
cb_siguiente.enabled=false
cb_ultimo.enabled=false
End If
Cb_ultimo
dw_1.ScrollToRow(dw_1.rowcount())
dw_1.setfocus()
cb_Primero.enabled=true
cb_Anterior.enabled=true
cb_siguiente.enabled=false
cb_ultimo.enabled=false
Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Cb_agregar
dw_1.scrolltorow(dw_1.insertrow(0))
dw_1.setfocus()
cb_agregar.enabled=false
cb_editar.enabled=false
cb_grabar.enabled=true
cb_eliminar.enabled=false
cb_cancelar.enabled=true
Cb_editar
dw_1.setfocus()
cb_agregar.enabled=false
cb_editar.enabled=false
cb_grabar.enabled=true
cb_eliminar.enabled=false
cb_cancelar.enabled=true
Cb_grabar
dw_1.update()
cb_agregar.enabled=true
cb_editar.enabled=true
cb_grabar.enabled=false
cb_eliminar.enabled=true
cb_cancelar.enabled=false
Cb_eliminar
If Messagebox("Eliminar","Desea eliminar el registro?",question!,yesno!) = 1
then
dw_1.deleterow(0)
dw_1.update()
else
dw_1.setfocus()
end if
Cb_cancelar
dw_1.retrieve()
cb_agregar.enabled=true
cb_editar.enabled=true
cb_grabar.enabled=false
cb_eliminar.enabled=true
cb_cancelar.enabled=false

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

También podría gustarte