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 29-07-2007
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
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;

Última edición por Elite237 fecha: 29-07-2007 a las 20:51:31.
Responder Con Cita
  #2  
Antiguo 29-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 29-07-2007
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 29-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 29-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #6  
Antiguo 29-07-2007
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
Mensaje editado

Ya edite mi mensaje, asi era??? Ahora si me puedes ayudar??
Responder Con Cita
  #7  
Antiguo 29-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #8  
Antiguo 29-07-2007
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
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;
Responder Con Cita
  #9  
Antiguo 29-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
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
Responder Con Cita
  #10  
Antiguo 29-07-2007
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
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
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eliminar Tablas y tamaño en Base de datos carlosegs11 Tablas planas 4 09-07-2007 03:55:03
Una Consulta con registros de dos tablas en Diferentes Base de Datos k_rito Conexión con bases de datos 2 17-05-2007 17:43:55
Como eliminar la solicitud de password de una base de datos MRSAM Conexión con bases de datos 0 07-01-2005 16:34:11
Eliminar Registros Duplicados ? Jvilomar Firebird e Interbase 14 16-03-2004 22:14:35
Eliminar algunos registros con sql miguelb SQL 4 19-09-2003 16:11:43


La franja horaria es GMT +2. Ahora son las 07:19:23.


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