Como borrrar un registro de una base de datos

Estoy haciendo un programa de base de datos con builder y desearía saber cual es el código para borrar un resistro de una tabla que esta en el DBGrid.
Atentamente Damy

1 respuesta

Respuesta
1
Esto es relativamente sencillo
Quiero pensar que cuando te refieres a el dbgrid estas hablando de un datawindow en forma de grid
El datawindow control posee una serie de funciones que efectúan estas operaciones, cada una de ellas actúa sobre los datos que se encuentran cargados en dicho control, y luego el usuario deberá decidir el momento de la actualización de estos.
Por ejemplo:
Para poder borrar un registro
1ero. Seleccionar visualmente el registro
2do. Utilizar la funcion deleterow(<row>), esta funcion borra el registro del datawindow, (mas bien lo cambia de buffer), pero aun no de la tabla
3ero. para acentar la operacion utilizas la funcion update()
Esta funcion devuelve un valor numerico:
1 -> si todo fue correctamente procesado
-1 -> cuando ocurre un error.
En función de este resultado tu defines cuando efectuar el COMMIT, o el ROLLBACK,
Un ejemplo
En un botón que efectúe el borrado de un registro podría encontrar un script más o menos así:
INTEGER li_result
INTEGER li_row
STRING ls_error
li_row = PARENT.dw_1.GetRow()
IF (li_row > 0) THEN
IF (MESSAGE('BORRAR RESITRO', 'Esta seguro/a de borrar este registro', Question!, YesNo!, 2) = 1) THEN
li_result = PARENT.dw_1.DeleteRow(li_row)
IF (li_result = 1) THEN
li_result = PARENT.dw_1.Update()
IF (li_result > 0) THEN
COMMIT USING SQLCA;
ELSE
ls_error = SQLCA.SQLErrText
ROLLBACK USING SQLCA;
MESSAGEBOX('ERROR, ls_error)
END IF
END IF
END IF
Finalizando:
Así como estas funciones descritas anteriormente, se encuentran otras más que puedes consultar en el help de power builder, estas sirven para, insertar un nuevo registro, filtrar, retraer, cambiar el status del registro.
Las cuales pueden ser invocadas dentro del propio datawindow, por medio de un botón,
o afuera del datawindow control por medio de commandbuttons los cuales ejecuten las mismas operaciones.
Espero esto pueda servir para resolver tu problema
saludos
agdsys

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas