Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 02-01-2009
Avatar de Blaster
Blaster Blaster is offline
Miembro
 
Registrado: jun 2008
Ubicación: Miami, USA
Posts: 12
Poder: 0
Blaster Va por buen camino
Thumbs up Gracias por la ayuda

Saludos.

Me ha servido de gran ayuda. He redondeado la idea y al final hice lo siguiente:

Primero, ya sea desde la opción del Menú Principal de la aplicación o su correspondiente BarButton:

Código Delphi [-]
procedure TfrmPrincipal.SubMenuSalvarBaseDeDatosClick(Sender: TObject);
begin
  //Ante todo verifico si aun hay conexion con la BD
  if (HostalWare.ExisteConexionConLaBD = True)
    then
      begin
        //Ejecuto el procedimiento de Salvar Base de Datos
        SalvarBaseDeDatosHostalWare;
      end
        else
          begin
            MessageDlg('Se ha perdido la conexión con la base de datos.' + #13 + 'Inténtelo en otra ocasión', mtError, [mbOk], 0);
          end;
end;


Segundo, el procedimiento de la Interfaz Principal invoca a la Clase Madre Controladora:

Código Delphi [-]
procedure TfrmPrincipal.SalvarBaseDeDatosHostalWare;
begin
  //Ante todo verifico si aun hay conexion con la BD
  if (HostalWare.ExisteConexionConLaBD = True)
    then
      begin
        if (SaveDialogHostalWare.Execute)
          then
            begin
              //Salvo la base de datos en forma de fichero
              //HostalWare.SalvarBaseDeDatosHostalWare(QuotedStr(   SaveDialogHostalWare.FileName + '.BAK'   ));
              HostalWare.SalvarBaseDeDatosHostalWare(SaveDialogHostalWare.FileName + '.HBK'   );
            end;
      end
        else
          begin
            MessageDlg('Se ha perdido la conexión con la base de datos.' + #13 + 'Inténtelo en otra ocasión', mtError, [mbOk], 0);
          end;
end;

Luego, el procedimiento de la Clase Madre Controladora delega responsabilidades en la Clase Controladora correspondiente:

Código Delphi [-]
procedure TGestionCursistasHospedados.SalvarBaseDeDatosHostalWare(aCamino: String);
begin
  //Se invoca al procedimiento del Módulo correspondiente
  ModuloControlDelSistema.SalvarBaseDeDatosHostalWare(aCamino);
end;

Y esta es la que trabaja directamente con el procedimiento almacenado de la base de datos:

Código Delphi [-]
procedure TModuloControlDelSistema.SalvarBaseDeDatosHostalWare(aCamino: String);
begin
  //Se realiza la conexión con la BD
  DataModuleConexionGeneral.ADOConnectionGeneral.Connected:= True;
  DataModuleControlDelSistema.spSalvarBaseDeDatosHostalWare.Active:= False;
  
  //Le pasamos los parámetros al StoredProc
  DataModuleControlDelSistema.spSalvarBaseDeDatosHostalWare.Parameters.ParamByName('@vCamino').Value:= aCamino;

  //Aquí se hace la Salva de la BD
  //DataModuleControlDelSistema.spSalvarBaseDeDatosHostalWare.Open;  //<- No genera datos de respuesta el StoredProc, por eso se omite esto.
  DataModuleControlDelSistema.spSalvarBaseDeDatosHostalWare.ExecProc;
end;

Y por último, el procedimiento almacenado ejecuta lo siguiente:

Código SQL [-]
CREATE PROCEDURE [dbo].[SalvarBaseDeDatosHostalWare] 
@vCamino varchar(1000)
AS

BACKUP DATABASE GCHWare TO DISK = @vCamino;

GO

Muchas gracias por la ayuda recibida.
Saludos.
Reinier.
Responder Con Cita
 


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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copia de seguridad de mi BD jorgegetafe MySQL 6 15-01-2008 01:29:41
realizar copia de seguridad de bd interbase desde delphi ingabraham Firebird e Interbase 8 16-10-2007 18:02:01
Copia de tablas como copia de seguridad Mathom Varios 4 04-01-2006 09:19:57
Copia de seguridad y restablecer copia en paradox Sayuri Conexión con bases de datos 4 30-08-2005 17:08:37
Copia de Seguridad silviodp OOP 4 27-05-2004 15:18:53


La franja horaria es GMT +2. Ahora son las 20:54:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi