Delphi - backaup y Restore

   
Vista:

backaup y Restore

Publicado por Elianny elianny_esther@yahoo.com (31 intervenciones) el 05/11/2012 21:35:33
backaup y Restore

Hola a todos:

Hace varios días estoy tratando de hacer un backaup de la base de datos (Access) de mi sistema y por fin ya lo logré, me da como resultado un Archivo. BACK.

El código del botón copiar del backaup es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
procedure TFrmBackup.btnBackUpClick(Sender: TObject);
var
Origem, Destino: string;
begin
If Edit1.Text = '' then
   BEGIN
        ShowMessage('Debe Elegir la base de datos que desea copiar ');
        EXIT;
   END;
 
   If Edit2.Text = '' then
   BEGIN
        ShowMessage('Seleccione la unidad de almacenamiento');
         Edit2.SetFocus;
        EXIT;
   END;
if MESSAGEBOX(Application.Handle, 'Deseja Fazer o Backup do Arquivo?', 'Por favor, confirme:', MB_ICONQUESTION + MB_YESNOCANCEL + MB_DEFBUTTON2) = ID_YES then
    Origem := Edit1.Text;
 
    Destino := Edit2.Text + '\' + Edit3.Text + '.BACK' ;
 
Progreso.Position:=1;
Progreso.Position:=3;
Progreso.Position:=5;
Progreso.Position:=20;
Progreso.Position:=30;
Progreso.Position:=40;
Progreso.Position:=70;
Progreso.Position:=80;
Progreso.Position:=90;
Progreso.Position:=100;
 
ShowMessage('Backup  Realizado con Éxito.');
 
  if not CopyFile(PChar(Origem), PChar(Destino), false) then
      ShowMessage('Error al copiar ' + Origem + ' para ' + Destino);
      Tiempo.Enabled:=True;
      FrmBackup.Close;
end;


Ahora bien cuál es mi pregunta: ¿Cuál sería el código del botón Restore, para restaurar la base de datos.
Se supone que si pasa algún problema con los archivos de la base de datos, el Archivo. BACK se restaura a mi base de datos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

backaup y Restore

Publicado por E.T. (1105 intervenciones) el 06/11/2012 01:48:12
Pues es simplemente el proceso inverso, ademas de que debes cambiarle el nombre a tu archivo de base de datos que haya tenido la falla, ejemplo

1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
begin
//esta linea cambia de nombre a la base de datos dañada por otro que tu quieras
RenameFile('BD_actual', 'respaldo_BD');
 
//esta linea ya la haz usado, copia tu respaldo al directorio donde lo usas
CopyFile('Archivo.BACK', 'BD_Nueva');
end;


Hay que señalar que para que esto funcione, todos los usuarios que esten usando la base de datos deben desconectarse, si no te va a marcar error al intentar cambiar el nombre

Ademas puedes usar esta función, con la cual se despliega el dialogo de windows de copiado de archivos:
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/delphi/respuestas/1143739/funcion-para-copiar-todo-un-directorio-archivos-y
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar