Ver Mensaje Individual
  #4  
Antiguo 20-01-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 19.439
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo te recomiendo que hagas las comprobaciones de existencuia tanto de la Base de Dats como de las tablas antes de ejecutar, en lugar de realizarlas en el tratamiento de excepciones; Con ésto conseguiras evitar código duplicado y más seguridad (por la comprobación del mensaje de las excepciones -eso no es muy seguro-).

Para la de la Base de Datos como es un archivo Access puedes usar FileExists y para la tabla el método GetTableNames del ADO Connection.

El código sería algo así:

Código Delphi [-]
 procedure TForm1.Button2Click(Sender: TObject);
 const
   DATABASENAME='C:\Archivos de programa\agua\datos\exportar.mdb';
 var
   TS:TStringList;
   Index:Integer;
 begin
 
   // Existe la Base de Datos?
   if FileExists(DATABASENAME) then begin
     // EXISTE
     // ...
   end
   else begin
     // NO EXISTE
     // ...
   end;
 
   // Crear la lista
   TS := TStringList.Create();
   TS.Sorted := True;
 
   // proteccion para liberar
   try
 
     // Recuperar nombres de tablas
     ADOConnection1.GetTableNames(TS, False);
 
     // Existe la tabla ?
     if TS.Find('texportar', Index) then begin
       // EXISTE
       //...
     end
     else begin
       // NO EXISTE
       //...
     end;
 
   finally
     TS.Free;
   end;  
 
 end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita