Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   problema de eliminacion (https://www.clubdelphi.com/foros/showthread.php?t=40843)

nikotina 28-02-2007 12:57:31

problema de eliminacion
 
Hola amigos. tengo un procedimiento sobre un dbgrid el cual elimina las filas que el usuario selecciona. El problema es que solo elimina una fila y luego da un error "query4: record no found". el codigo es el siguiente:

Código Delphi [-]
procedure Tgen_oc_concurso.BitBtn5Click(Sender: TObject);
var i,j:integer;
begin
    if DBGrid1.SelectedRows.Count>0 then
    begin
      with DBGrid1.DataSource.DataSet do
      begin
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
            query4.Delete;
          end;
      end;
    end,
end;

Si

dec 28-02-2007 13:09:49

Hola,

Prueba a invertir el bucle, o sea algo como:

Código Delphi [-]
procedure Tgen_oc_concurso.BitBtn5Click(Sender: TObject);
var i,j:integer;
begin
    if DBGrid1.SelectedRows.Count>0 then
    begin
      with DBGrid1.DataSource.DataSet do
      begin
          for i := DBGrid1.SelectedRows.Count-1 downto 0 do
          begin
            GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
            query4.Delete;
          end;
      end;
    end,
end;

Ignoro ahora mismo si acaso no tendrías que cambiar...

Código Delphi [-]
for i := DBGrid1.SelectedRows.Count-1 downto 0 do

... por:

Código Delphi [-]
for i := DBGrid1.SelectedRows.Count-1 downto 1 do

... e incluso:

Código Delphi [-]
for i := DBGrid1.SelectedRows.Count downto 0 do

... Pero el caso es que creo que tiene todas las papeletas para que invirtiendo el bucle no tengas el problema que mencionas.

nikotina 28-02-2007 14:34:21

gracias dec
 
gracias dec. creo que con tu consejo va a funcionar.

Muchas gracias de nuevo y un abrazo.


La franja horaria es GMT +2. Ahora son las 01:01:51.

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