Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Eliminar Registro (Validar) (https://www.clubdelphi.com/foros/showthread.php?t=12116)

UTECYBER 06-07-2004 17:06:21

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.-

eduarcol 06-07-2004 17:10:37

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;

UTECYBER 06-07-2004 18:19:36

Gracias,

Tienes Razon..
Atentamente
Utecyber.-

ruina 07-07-2004 19:16:05

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.....

@-Soft 08-07-2004 14:23:39

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

ruina 08-07-2004 16:58:55

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.

eduarcol 08-07-2004 18:19:52

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

@-Soft 09-07-2004 13:58:30

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

Salu2

jefferson 29-10-2008 18:15:13

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.


La franja horaria es GMT +2. Ahora son las 04:40:58.

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