Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-04-2011
giocatore giocatore is offline
Miembro
 
Registrado: dic 2005
Posts: 31
Poder: 0
giocatore Va por buen camino
problema al borrar varios registros

Buenas!! busque en el foro pero no encontré algo que me ayude espero puedan hacerlo gracias de antemano. Bueno el problema es el siguiente tengo una tabla de la cual quiero borrar ciertos registros.

Por ejemplo, tengo una tabla llamada producto y tiene un campo llamado Tipo_producto que sea varchar en el cual tengo dos tipos de producto: Bebidas y Comidas, el problema que tengo es que si quiero borrar todos los registros que sean Comidas pongo en el evento del botón lo siguiente:


while not (datamodule7.ADOTable3.Eof) do
if datamodule7.ADOTable3['Tipo_producto']='Comidas' then
begin
datamodule7.ADOTable3.Delete;
end;
datamodule7.ADOTable3.Next;
end;


Pero el problema es que no borra todos los registros que son de tipo comida, también probé incluyendo disable y enablecontrols, pero no funciona correctamente quisiera saber porque motivos y como solucionarlo.


Muchas gracias!!!
Responder Con Cita
  #2  
Antiguo 26-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
y porque tienes que recorer la tabla porque no lo borras en bloque


creas un query que diga mas o menos asi

Código SQL [-]
Delete * from Tabla where TIpo_Producto = 'Comidas'
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 26-04-2011
giocatore giocatore is offline
Miembro
 
Registrado: dic 2005
Posts: 31
Poder: 0
giocatore Va por buen camino
Quisiera hacerlo mediante código delphi, sin usar consultas. Me olvidaba es una bd en mysql y conecto con ado
Responder Con Cita
  #4  
Antiguo 26-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
mm prueba haciendolo de esta manera

Código Delphi [-]
 
while not (datamodule7.ADOTable3.Eof) do
if datamodule7.ADOTable3['Tipo_producto']='Comidas' then
   datamodule7.ADOTable3.Delete
Else
  datamodule7.ADOTable3.Next;
end;

imagina que cuando encuentra un registro cuyo tipo es Comidas y lo borra... donde queda el puntero en el registro? avanza hacia el siguiente verdad?
y si encima tu le das next entonces puede que este borrando solo algunos

prueba y comentas
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 27-04-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
si quieres borrar todas las "Comidas", lo mejor es hacerlo con una consulta, como dijo Oscar... y pues eso lo pones en el código de delphi, lo haces desde tu programa. Solo que en lugar de usar un TADOTable, utilizas un TADOQuery...

http://www.clubdelphi.com/foros/show...18&postcount=5
__________________


Última edición por ContraVeneno fecha: 27-04-2011 a las 02:05:29.
Responder Con Cita
  #6  
Antiguo 27-04-2011
giocatore giocatore is offline
Miembro
 
Registrado: dic 2005
Posts: 31
Poder: 0
giocatore Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
mm prueba haciendolo de esta manera

Código Delphi [-]
 
while not (datamodule7.ADOTable3.Eof) do
if datamodule7.ADOTable3['Tipo_producto']='Comidas' then
   datamodule7.ADOTable3.Delete
Else
  datamodule7.ADOTable3.Next;
end;

imagina que cuando encuentra un registro cuyo tipo es Comidas y lo borra... donde queda el puntero en el registro? avanza hacia el siguiente verdad?
y si encima tu le das next entonces puede que este borrando solo algunos

prueba y comentas
Muchísimas gracias oscarac tu solución fue muy práctica y eficáz, probé y me funcionó de mil maravillas, me ayudaste mucho.

GRACIAS POR TU TIEMPO y también a todos los que comentaron.
Responder Con Cita
  #7  
Antiguo 27-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
de nada.... cualquier cosa... en que pueda ayudarte con mucho gusto... de paso que refuerzo mis conocimientos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Borrar varios elementos de un TreeView annieruci OOP 10 25-04-2011 21:18:01
Problema en Impresión, mostrar varios registros DenisDiaz Impresión 2 11-07-2010 17:51:07
Borrar varios registros en un Dbrepeater David82 PHP 0 09-09-2008 14:40:37
Borrar varios registro de una tabla molina669 Conexión con bases de datos 2 10-11-2005 20:58:00
Borrar varios archivos mrmanuel Varios 5 27-05-2004 03:03:54


La franja horaria es GMT +2. Ahora son las 16:28:48.


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