Foros del Web » Programación para mayores de 30 ;) » Programación General »

Eliminacion de Registros (BD) en Delphi

Estas en el tema de Eliminacion de Registros (BD) en Delphi en el foro de Programación General en Foros del Web. Hola amigos del foro y Masters en Programacion. Tengo el siguiente problema: Necesito eliminar uno, dos o varios registros en una accion. Por ejemplo si ...
  #1 (permalink)  
Antiguo 22/02/2007, 12:21
 
Fecha de Ingreso: diciembre-2005
Ubicación: Bolivia
Mensajes: 58
Antigüedad: 18 años, 4 meses
Puntos: 0
Eliminacion de Registros (BD) en Delphi

Hola amigos del foro y Masters en Programacion.

Tengo el siguiente problema: Necesito eliminar uno, dos o varios registros en una accion. Por ejemplo si es que selecciono en un DBGrid 3 filas, y al presionar el Botón eliminar del DBNavigator que me borre las que he seleccionado. Y esto lo hago de forma más general en el evento OnBeforeDelete de un Table (Antes de eliminar registros de la tabla). Con esto deseo que me respondan a los eventos de presionar la tecla suprimir del teclado, boton derecho del raton opcion eliminar, o bien desde el mismo navigator. Bueno aqui es el que me rompo la cabeza no se en que parte poner este mi procedimiento:

Procedure TF_Reg_Estudiantes.EliminarRegistro;
Var i:Integer;
Begin
if DBGrid1.SelectedRows.Count<=1 then
Begin
// ShowMessage('Una fila seleccionada.');
If Application.MessageBox ('¿Estas seguro que deseas eliminar el registro actual?',
'Eliminar registro',mb_YesNo+MB_IconStop) = ID_No Then
Abort
else
Table1.delete;
End
else
// ShowMessage('Varias filas seleccionadas')
If Application.MessageBox ('¿Estas seguro que deseas eliminar los registros seleccionados? Atte RMA',
'Eliminar registros seleccionados',mb_YesNo+MB_IconStop) = ID_No Then
Abort
else
Begin
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
Delete;
end;
End;
End;

- Al llamar el procedimiento desde el evento BeforeDelete de la Tabla, si es que presiono el boton eliminar del DBNavigator el ciclo que nunca se termina.
- No se, no puedo anular el boton eliminar del DBNavigator, q en ves d que haga su accion quiero que me haga la mia. Logré capturar el evento. Se me vino a la cabeza de ocultar este boton pero, pierdo las acciones que tiene este (DESACTIVARSE cuando no haya ningun registro, cuando este en modo insercion o modificacion) osea tendria que luchar con más codigo.

Creo que lo enrrolle el tema... espero que hayan comprendido, es que me urge poder resolver este problema. Por fa amigos echenme una manito.

Les quedo muy agradecido de antemano....
__________________
Con estudio, dedicación y mucho trabajo logras tus metas amig@ [email protected]
Caracollo-Oruro-Bolivia
RMA Soft System
  #2 (permalink)  
Antiguo 01/03/2007, 17:55
 
Fecha de Ingreso: diciembre-2005
Ubicación: Bolivia
Mensajes: 58
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Eliminacion de Registros (BD) en Delphi

Nada....



Por fa una manito....
__________________
Con estudio, dedicación y mucho trabajo logras tus metas amig@ [email protected]
Caracollo-Oruro-Bolivia
RMA Soft System
  #3 (permalink)  
Antiguo 13/03/2007, 09:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Re: Eliminacion de Registros (BD) en Delphi

(Tomado de trucomania)

Colocar este código en el evento KeyDown de DBGrid:

Código:
if Key = VK_DELETE then 
       if DBGrid1.SelectedRows.Count>0 then 
          if messagebox(self.Handle,pchar('Está seguro
 que desea eliminar los registros
 seleccionados?'),'Borrar',MB_ICONQUESTION +
 MB_YESNO)=IDYES then 
          with DBGrid1.DataSource.DataSet do 
             for i:=DBGrid1.SelectedRows.Count-1 downto 0 do {<----- Modificar aqui}
                begin 
                  GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
                  Delete;
                end; 
          end;
  #4 (permalink)  
Antiguo 10/09/2009, 11:40
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Re: Eliminacion de Registros (BD) en Delphi

soy nueva en esto y quisiera saber porque no entiendo respecto a este codigo el VK_DELETE es este caso quien es ?? es el boton eliminar ??
con este codigo solo presiono el boton y se elimina la fila?? gracias



Cita:
Iniciado por Myakire Ver Mensaje
(Tomado de trucomania)



Colocar este código en el evento KeyDown de DBGrid:

Código:
if Key = VK_DELETE then  :neurotico
       if DBGrid1.SelectedRows.Count>0 then 
          if messagebox(self.Handle,pchar('Está seguro
 que desea eliminar los registros
 seleccionados?'),'Borrar',MB_ICONQUESTION +
 MB_YESNO)=IDYES then 
          with DBGrid1.DataSource.DataSet do 
             for i:=DBGrid1.SelectedRows.Count-1 downto 0 do {<----- Modificar aqui}
                begin 
                  GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
                  Delete;
                end; 
          end;
  #5 (permalink)  
Antiguo 10/09/2009, 12:08
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Eliminacion de Registros (BD) en Delphi

hola sol1512 bienvenida al foro

VK_DELETE es el codigo para la tecla de suprimir, por lo que si oprimes esa tecla se borrara la informacion seleccionada del datagrid (DBGrid1)....

si tienes dudas te recomiendo que abras un nuevo tema, retomes temas viejos..

saludos
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:03.