BACKUP:
for i:=0 to high(ArrayBakTABLE_NAME) do
begin
TableSource.close;
TableSource.TableName:=ArrayBakTABLE_NAME[i].TableName;
TableTmp.close;
TableTmp.DatabaseName:=指定数据库的路径;
TableTmp.TableName:=ArrayBakTABLE_NAME[i].TableName;
TableSource.Open;
TableTmp.BatchMove(TableSource,batCopy);
end;
RESTORE:(用到了batchmove控件)
for i:=high(ArrayBakTABLE_NAME) downto 0 do
begin
QueryDes.Close;
QueryDes.Sql.Text:=' delete '+ArrayBakTABLE_NAME[i].szName;
QueryDes.ExecSQL;
end;
for i:=0 to high(ArrayBakTABLE_NAME) do
begin
TableDes.close;
TableDes.TableName:=ArrayBakTABLE_NAME[i].szName;
TableTmp.close;
TableTmp.DatabaseName:=指定数据库备份文件的路径;
TableTmp.TableName:=ArrayBakTABLE_NAME[i].szName;
TableTmp.GetFieldNames(BatchMove1.Mappings);
//字段映射
for j:=0 to BatchMove1.Mappings.Count -1 do
begin
BatchMove1.Mappings.Strings[j]:=BatchMove1.Mappings.Strings [j]+'='+
BatchMove1.Mappings.Strings[j];
end;
BatchMove1.Mode:=batAppend;
BatchMove1.Execute;
end;