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 Temas de Hoy

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



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


La franja horaria es GMT +2. Ahora son las 02:18:10.


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