Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error "connection lost to Database" (https://www.clubdelphi.com/foros/showthread.php?t=63338)

Efren2006 10-02-2009 00:46:42

Error "connection lost to Database"
 
Saludos

Estoy utilizando Interbase 7.0 con Delphi 2009, estoy utilizando los Componentes Interbase, estoy haciendo un programa de Sincronizacion de 2 Bases de Datos y uno de los requerimientos es Borrar todos los registros de una de las tablas, Tengo en un Listbox con todas las Tablas a Borrar, esta es la Rutina que estoy utilizando:

Código Delphi [-]
 
procedure TForm1.LimpiarClick(Sender: TObject);
Var
  I:Integer;
  Tabla:String;
begin
  If Application.MessageBox('Desea Borrar TODOS los Datos.. ?','PREGUNTA',MB_YESNO+MB_ICONERROR+MB_DEFBUTTON2)<>IdYes Then Exit;
  if ibdatabase2.Connected then
     Begin
     ProgressBar1.Max:=ListBox2.Items.Count; 
     ProgressBar1.Position:=0;
     ListBox2.ItemIndex:=0;
     for I := 0 to ListBox2.Items.Count - 1 do
        Begin
        Tabla:=Trim(ListBox2.Items[i]);
        IBScript2.Script.Clear;
        IBScript2.Script.Add('DELETE FROM '+TABLA);
        if IBScript2.ValidateScript Then
           Begin
           IBScript2.ExecuteScript;
           IBScript2.Transaction.CommitRetaining;
           End
         else
           Begin
           Application.MessageBox(PChar('Error al con el Scrip de '+Tabla+'... Error '),'ERROR',MB_OK+MB_ICONERROR);
           end;
        ProgressBar1.Position:=I+1;
        End;
     Application.MessageBox('El Proceso a Finalizado ... ','Mensaje',MB_OK+MB_ICONINFORMATION);
     ProgressBar1.Position:=0;
     End;
end;


El problema es que debo efectuar varias veces este procesos para que se haga totalemente, porque dependiendo de la tabla que este Borrando me aperece el error "connection lost to Database"

Alguna Sugerencia .. ?? o solucion al Problema ..


Gracias de Antemano

salvica 20-02-2009 00:44:03

Hola Efren2006, si son muchos registros puede serte más fácil hacer un DROP Tabla y crearla de nuevo.

Saludos
salvica


La franja horaria es GMT +2. Ahora son las 17:06: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