Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Eliminar registros de mi base de datos (https://www.clubdelphi.com/foros/showthread.php?t=46343)

Elite237 29-07-2007 20:32:37

Eliminar registros de mi base de datos
 
Que codigo debo utilizar para eliminar un registro de mi base de datos.
La base de datos que utilizo en SQL Server 2000, estoy utilizando los componentes de ADOConnection y ADOTable, y quiero que me valide, en caso de que busque una clave que no exista y me mande un mensaje de que la clave no existe y en caso de que no si exista, que me borre mi registro.Este es el codigo que introduci: SI PUEDO EJECUTAR MI APLICACION, SOLO QUE NO HACE LO QUE LE PIDO.

Código:

procedure TForm8.BitBtn2Click(Sender: TObject);
begin
if Dep.Locate('clave',edit1.Text,[]) then
  begin
    Edit1.Clear;
    mensaje:=Application.MessageBox('La clave no existe','Error de entrada')
  end
    else
  begin
  Dep.Delete;
      Dep.FieldValues['clave']:=Edit1.Text;
      Dep.FieldValues['nombre']:=Edit2.Text;
      Dep.FieldValues['descripcion']:=Edit3.Text;
      Dep.FieldValues['jefe']:=Edit4.Text;
      Dep.Post;
      Edit1.Clear;
      Edit2.Clear;
      Edit3.Clear;
      Edit4.Clear;
      mensaje:=Application.MessageBox('Los datos se eliminaron con éxito!','Mensaje de Confirmación');
    end;
end;


roman 29-07-2007 20:35:04

Ya te han indicado anteriormente que uses las etiquetas adecuadas para escribir código. Quienes te contestan se toman su tiempo haciéndolo, lo menosque puedes hacer, es tomarte tú mismo tu tiempo para presentar adecuadamente tus preguntas.

// Saludos

Elite237 29-07-2007 20:42:13

Hola Roman!!
 
Gracias por tu comentario, se que tienes razón, pero es que soy nuevo en el Foro y nose donde dice como expresar los codigos, me puedes mandar el link o decirme como se escribe..Gracias y disculpa mi omision.

Caral 29-07-2007 20:46:40

Hola Elite237
Presionas el boton de ir a Avanzado, esto te enviara a otra pantalla, en esta veras varios dibujos en la parte de arriba, con solo poner el raton encima veras de que se trata, preiona el que necesites y lo tendras en el cuadro de abajo, estas etiquetas son para mostrar el codigo, escribe el codigo entre ellas, presiona vista preliminar si tienes alguna duda y luego enviar respuesta, eso es todo.
Saludos

roman 29-07-2007 20:46:42

Sólo tiene que encerrar el codigo entre las etiquetas adecuadas. Puede ser


[code]
aquí el código
[/code]


o bien


[delphi]
aquí el código
[/delphi]


para que se resalte la sintaxis automáticamente. Para el caso de SQL usas


[sql]
aquí la sentencia
[/sql]


Agrego: No había visto el mensaje de Caral. También puedes hacerlo de ese modo.

// Saludos

Elite237 29-07-2007 20:53:26

Mensaje editado
 
Ya edite mi mensaje, asi era??? Ahora si me puedes ayudar??

roman 29-07-2007 21:02:15

Donde dice

Código Delphi [-]
if Dep.Locate('clave',edit1.Text,[]) then

yo creo que debería decir:

Código Delphi [-]
if not Dep.Locate('clave',edit1.Text,[]) then
es decir, que está alrevés tu condición. Y para borrar, basta que uses Dep.Delete; las asignaciones que haces después con Dep.FieldValues no vienen al caso.

// Saludos

Elite237 29-07-2007 21:33:05

no me elimina el registro
 
Fijate que le introduci este codigo, sí me ejecuta la aplicación, pero no me hace lo que yo pido, de hecho me dice que esa clave no existe, pero realmente si esta esa clave..


Código:

procedure TForm8.BitBtn2Click(Sender: TObject);
begin
if not Dep.Locate('clave',edit1.Text,[]) then
  begin
    Edit1.Clear;
    mensaje:=Application.MessageBox('La clave no existe','Error de entrada')
  end
    else
  begin
  Dep.Delete;
      mensaje:=Application.MessageBox('Los datos se eliminaron con éxito!','Mensaje de Confirmación');
    end;
end;


Caral 29-07-2007 21:47:51

Hola
Lo que te dijo Roman lo probé en una consulta aparte y me funciono.
Código Delphi [-]
procedure TFArticulos.Button2Click(Sender: TObject);
begin
   if not ADOTable1.Locate('CodProducto',DBEdit1.Text,[]) then
  begin
    DBEdit1.Clear;
    MessageBox(Handle,
             PChar('La Clave no existe'),
             PChar('Clave'),
             MB_OK + MB_DEFBUTTON1 + MB_APPLMODAL);
  end
    else
   begin
  ADOTable1.Delete;
  MessageBox(Handle,
             PChar('Los datos se eliminaron con éxito'),
             PChar('Eliminar'),
             MB_OK + MB_DEFBUTTON1 + MB_APPLMODAL);

    end;
end;
Hace lo que necesitas, si el codigo no existe, lo indica de lo contrario borra el contenido.
Saludos

Elite237 29-07-2007 22:07:11

Problema resuelto
 
Gracias Roman y Caral, ya me hace lo que le indico..Gracias por su tiempo a cada uno y gracias por sus comentarios.Saludos


La franja horaria es GMT +2. Ahora son las 03:24:42.

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