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. |
Para eliminar todos es mucho más fácil:
MiTabla.EmptyTable; Tienes que tener uso exclusivo sobre la misma. Un Saludo. |
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 |
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. |
Gracias por su interes en el tema, se puede dar por terminado este hilo.
CHAUUUUUUUUUUU |
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. |
Solo un comentario a la respuesta de CarlosHernandez.
El Next de dentro del bucle sobraría ;) |
La franja horaria es GMT +2. Ahora son las 12:17:36. |
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