Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2003
CFPA86 CFPA86 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Medellin (Colombia)
Posts: 119
Poder: 21
CFPA86 Va por buen camino
Problema con DBGrid

Hola foristas, miren tengo el siguiente codigo.
procedure TForm1.Button1Click(Sender: TObject);
var
LiReg, LiCont : integer;
begin
LiReg := Table1.RecordCount;
LiCont := 0;
while LiCont <= LiReg do
begin
DBGrid1.SelectedRows.CurrentRowSelected := True;
borrar;
LiCont := LiCont + 1;
Table1.Next;
end;
end;

procedure TForm1.borrar;
var
contador : integer;
begin
if DBGrid1.SelectedRows.Count > 0 then
With Table1 Do
For Contador := 0 to DBGrid1.SelectedRows.Count - 1 do
begin
GotoBookMark(pointer(DBGrid1.SelectedRows.Items[Contador]));
table1.Delete;
end;
end;

Mi proposito con este es a medida que seleciono todos los registros de una tabla los elimino, el problema es que no los elimina todos debido a que llega un momento en que en el procemiento borrar (if DBGrid1.SelectedRows.Count > 0 then) Count es igual a 2 sabiendo que se a seleccionado 1 solo y por supuesto saca un error donde dice que registro no encontrado. Les pido me colaboren saliendo de este problema.
Gracias.
__________________
Siempre hay un primer momento para todo.
Responder Con Cita
  #2  
Antiguo 24-11-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Para eliminar todos es mucho más fácil:

MiTabla.EmptyTable;

Tienes que tener uso exclusivo sobre la misma.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 24-11-2003
CFPA86 CFPA86 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Medellin (Colombia)
Posts: 119
Poder: 21
CFPA86 Va por buen camino
Gracias por la respuesta, existe un pero y es que a medida que voy a eliminar debo de chequiar algo en cada registro que se selecciona automaticamente, alguien tiene otra respuesta a esta inquietud.
Chauuuuuu
__________________
Siempre hay un primer momento para todo.
Responder Con Cita
  #4  
Antiguo 24-11-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
En este caso puedes borrar mediante una consulta SQL, que te va resultar mucho más fácil de implementar y mucho más rápido.


Delete
Where xxx = lo que sea.

Y luego ejecutas la consulta.

Con ExecSql, aunque esto dependerá del tipo de tablas que estes utilizando.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 25-11-2003
CFPA86 CFPA86 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Medellin (Colombia)
Posts: 119
Poder: 21
CFPA86 Va por buen camino
Gracias por su interes en el tema, se puede dar por terminado este hilo.

CHAUUUUUUUUUUU
__________________
Siempre hay un primer momento para todo.
Responder Con Cita
  #6  
Antiguo 28-11-2003
Avatar de CarlosHernandez
CarlosHernandez CarlosHernandez is offline
Miembro
 
Registrado: oct 2003
Posts: 139
Poder: 21
CarlosHernandez Va por buen camino
Cool

no se si te sirva de algo.

lo puedes hacercon un while not

while not table1.eof do begin
table1.delete;
next;
end;
first;

asi puedes eliminar solo lo que necesitas mediante un filtro,o toda la tabla,y almacenas lo que necesites en variables.
__________________
begin
Elverdugo79@hotmail.com
end;
Responder Con Cita
  #7  
Antiguo 28-11-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Solo un comentario a la respuesta de CarlosHernandez.

El Next de dentro del bucle sobraría
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


La franja horaria es GMT +2. Ahora son las 16:33: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
Copyright 1996-2007 Club Delphi