Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2016
Alex1255 Alex1255 is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 11
Poder: 0
Alex1255 Va por buen camino
Mensajes memo de progreso de Backup

Hola a todos buenas tardes o Dias o Noches..tengo este procedimiento para respaldar la base de Datos el cual trabaja bien y me genera un respaldo...pero..(siempre hay un pero)...deseo que conforme va a avanzando me mande mensajes del avance del respaldo lo cual no lo hace solo me manda el mensaje final de : RESPALDO CONCLUIDO...Alguien me podria dar una sugerencia que me falta...muchas gracias.....

Código Delphi [-]
procedure TFrmDatosEmpresa.BtCrearrespaldoClick(Sender: TObject);
var Fecha:String;
begin
if (EdtRutaBD.Text='')then raise Exception.Create(
'Falta la ruta de la base de datos para crear el respaldo');

if (EdtNombreServidor.Text='')then raise Exception.Create(
'Falta el nombre del servidor o si es local la base de datos para crear el respaldo');

if not DirectoryExists(EdtRutaRespaldo.Text) then raise Exception.Create(
'La ruta especificada para crear el respaldo no existe');

if not FileExists(EdtRutaBD.Text) then raise Exception.Create(
'La ruta de la base de datos al parecer no esta en esta computadora. Respaldar donde esten los datos');

fecha:=FormatDateTime('DDMMMYYYY',Now);

if FileExists(EdtRutaRespaldo.Text+'\'+Fecha+'.fbk') then
  begin
  if Application.MessageBox('Ya existe un respaldo del dia de hoy. ¿Deseas reemplazarlo?',
  'Uinhapiti',MB_OKCANCEL)=IDCANCEL then
  SysUtils.Abort;

  if not DeleteFile(EdtRutaRespaldo.Text+'\'+Fecha+'.fbk') then
    begin
    Application.MessageBox('No se pudo quitar el archivo. Favor de eliminarlo','Uinhapiti',MB_OK);
    sysutils.abort;
    end;

  end;//if fileexists
 ShowMessage('Tenga paciencia tardara un poco ');
  Screen.Cursor:=crHourGlass;

{ahora sigue crear el respaldo de la base de datos}

modulodatos.IBDatabase1.Connected := false;
modulodatos.IBTransaction1.Active:=False;
 with modulodatos.IBBackupService do
  begin
  if EdtNombreServidor.Text = 'localhost' then
    begin
    ServerName := '';
    Protocol := Local;
    end
  else
  begin
  Protocol := TCP;
  ServerName := EdtNombreServidor.Text;
  end;
    Active := True;
    try
      {La ruta debe ser local y por lo tanto el respaldo debe hacerse en la pc
      donde esten los datos}
      DatabaseName := EdtRutaBD.Text;//ejemplo  'c:\interbase\examples\database\employee.gdb';
      BackupFile.Clear;
      BackupFile.Add(EdtRutaRespaldo.Text+'\'+Fecha+'.fbk');//' 'c:\temp\employee1.gbk');
       ServiceStart;
      While not Eof do
        MemoProgresodeRespaldo.Lines.Add(GetNextLine);
    finally
      MemoProgresodeRespaldo.Lines.Add('**RESPALDO CONCLUIDO**');
       Screen.Cursor:=crDefault;
      Active := False;
    end;
with modulodatos do
  begin
 IBDatabase1.Connected:=True;
 IBTransaction1.Active:=True;
 Qryjalarcontratos.Active:=True;
 QryContarti.Active:=True;
 QryAlma.Active:=True;
 Qryclien.Active:=True;
 QryCobr.Active:=True;
 Qryabon.Active:=True;
 Qrycontelim.Active:=True;
 Qryregiacce.Active:=True;
 QryBsqClien.Active:=True;
 QryUsua.Active:=True;
 QryListUsua.Active:=True;
 QryBsqAlma.Active:=True;
 qryuncliente.Active:=True;
 qrycontraanida.Active:=True;
 qryArticulanidados.Active:=True;
 IBdatosempresa.Active:=True;
 Qrylistclientes.Active:=True;
 QryClienCOD.Active:=True;
 QryBsqContra.Active:=True;
 QryArticuloseliminados.Active:=True;
 QryBsqAlmacen.Active:=True;
 Qrylisusua2.Active:=True;
 Qryclien2.Active:=True;
 Qrylistalma.Active:=True;
 QryVendList.Active:=True;
 QryCobraAlta.Active:=True;
 IBModif1Contrato.Active:=True;
 QryConsultContr.Active:=True;
 QryRepxCob.Active:=True;
 QryTotRepcobra.Active:=True;
 QryRepxCob.Active:=True;
 QryBsqTotCobr.Active:=True;
 QryRegisCambContra.Active:=True;
 Qryaltademovimiento.Active:=True;
 QryArticmpresion.Active:=True;
 QryAbonos2.Active:=True;
 QryAbonanida.Active:=True;
 QryEntSalRep.Active:=True;
  end;
  end;


Application.MessageBox('El respaldo se ha concluido con éxito.','Falcon20',MB_OK+MB_ICONINFORMATION);
end;
Responder Con Cita
  #2  
Antiguo 23-05-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por Alex1255 Ver Mensaje
...
deseo que conforme va a avanzando me mande mensajes del avance del respaldo lo cual no lo hace solo me manda el mensaje final de : RESPALDO CONCLUIDO
...
Suponiendo que son correctas las rutas y lo demás ingresado en los Edits, agrega la línea resaltada debajo:
Código Delphi [-]
   ...
   Active := True;
    try
      {La ruta debe ser local y por lo tanto el respaldo debe hacerse en la pc
      donde esten los datos}
      Verbose := True;
      ....

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


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
Ver progreso de consulta Alexandro Conexión con bases de datos 4 19-05-2008 20:54:55
Barra de progreso? marlulipe Impresión 5 26-02-2008 17:51:55
Problemas Sumando Memo1.Memo + Memo2.Memo JuanErasmo Impresión 10 05-02-2008 15:40:13
Mostrar progreso de descarga de IndyFTP con barra de progreso devicer Internet 2 05-12-2005 15:59:32
Campo memo tabla escribirlo en componente Memo Sayuri Conexión con bases de datos 2 18-08-2005 14:58:01


La franja horaria es GMT +2. Ahora son las 11:32:08.


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
Copyright 1996-2007 Club Delphi