Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
Eliminar Registro (Validar)

Tengo el Siguiente Codigo,En El Boton Eliminar.
Application.Messagebox ('Deseas Eliminar este Registro', Advertencia, MbYesNo);
DM_BaseDatos.TblCliente.Delete;

Mi problema es que aunque yo presione el boton (Yes o No) del cuadro de dialogo que aparece despues de presionar el boton eliminar, como quiera se elimina el registro.

¿Como hago para que me valide el No y el Yes Para eliminar el registro?

Atentamente
Utecyber.-
Responder Con Cita
  #2  
Antiguo 06-07-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Lo que sucede es que no estas colocando ningun conidcional

Código Delphi [-]
if MessageDlg('¿Desea eliminar el cliente de la base de datos?',mtWarning,[mbYes,mbNo],0) = idYes then
DM_BaseDatos.TblCliente.Delete;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 06-07-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
Gracias,

Tienes Razon..
Atentamente
Utecyber.-
Responder Con Cita
  #4  
Antiguo 07-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
sé que es una tonteria pero yo prefiero:
Código Delphi [-]
if not (MessageDlg('¿Desea eliminar el cliente de la base de datos?',mtWarning,[mbYes,mbNo],0) = idYes) then abort;

así si algún otro procedimiento llama al borrado y luego hace mas cosas se parará la ejecución.

por ejemplo en un simple:

...
botonborrado.click
query1.open;
query1.close;
query.locate.....
Responder Con Cita
  #5  
Antiguo 08-07-2004
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
Talking

hola

podria se de esta forma :
Código Delphi [-]
procedure TfrmSector.SpeedButton3Click(Sender: TObject);
var
  xreccount : integer;
begin
xreccount := DatMod1.TSector.RecordCount;
if xreccount <= 0 then
begin
   ShowMessage('No hay mas registro en el sistema.');
   Exit;
end;
if Application.MessageBox('¿ Seguro que quieres eliminar este registro ?','Información',
   MB_YESNO+MB_ICONQUESTION) = IDYES then begin
   DatMod1.TSector.Delete;
end;
    if DatMod1.TSector.RecordCount = xreccount then
    begin
       ShowMessage('El registro no se ha podido eliminar, contacte a su administrador de sistema.');
       Exit;
    end;
end;

Salu2
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.

Última edición por @-Soft fecha: 08-07-2004 a las 14:26:55.
Responder Con Cita
  #6  
Antiguo 08-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
emmm, bueno, no es que sea muy ortodoxo ese último método. En general no me parece una práctica muy legítima el uso de recordcount para verificar un borrado... sobretodo si estamos hablando de multipuesto.

segun mi experiencia el recordcount, cuanto menos se use, mejor.
Responder Con Cita
  #7  
Antiguo 08-07-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Es cierto lo que ha dicho ruina, de hecho con simple bloque try except podrias capturar el error en la eliminacion, pero tomalo a modo de consejo, como siempre he dicho lo bonito de la programacion es que nadie programa igual qeu los demas, es como pretender que todos pensemos igual, asi qeu si un programa no esta diseñado como nosotros lo pensamos no quiere decir que este malo, simplemente puede ser mas o menos eficiente, este hilo es un claro ejemplo de lo que digo

Saludos
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 09-07-2004
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
Thumbs up

todo lo que ustedes dicen podria ser cierto, pero funciona o no.

Salu2
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #9  
Antiguo 29-10-2008
jefferson jefferson is offline
Miembro
 
Registrado: dic 2007
Posts: 20
Poder: 0
jefferson Va por buen camino
mmm

Hola.
Mira pana, creo q el problema lo tenes en el procedimiento, mira bien las condiciones no sea que te falte la opcion del else.

saludos
bye.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:22:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi