delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف القيام بأرشفة قاعدة البيانات في كل يوم و استرجاع احداها بعد فترة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخواني
انا بصدد تطوير برنامج تسيير دخول و خروج العمال(دلفي بارادوكس)
كيف يمكنني القيام بأرشفة قاعدة البيانات في كل يوم و استرجاع احداها بعد مرور فترة زمنية معينة. شكرا مسبقا
وعليكم السلام

حتى تنظم الامور من الاحسن ان تكون كل ملفات قواعد البيانات في مجلد واحد مثلا Data
1- اغلاق كل المكونات Table و/أو Query
2- نسخ أو َضغط كل محتوى المجلد بملف اسمه يحتوى التاريخ والوقت ومن الاحسن يكون بلاحقة/صيغة جديدة غير مستعملة

عند الاسترجاع تبحث عن كل الملفات بالاحقة/الصيغة المختارة وتترك المستخدم يختار واحد، بعدها تقوم بالعكس
1- حذف كل محتوى المجلد Data
2- نسخ/فك ضغط محتوى الملف المختار بالمجلد Data

الان ارنا محاولتك لما سبق و ان شاء الله تجد متابعة
السلام عليكم

هل تود أرشفة محتوى الجداول أم كل القاعدة بما حوت ؟ إن كانت الثانية فقد تمت الإجابة عنها من طرف B.M.AbdelAziZ أما الأولى فأنا أقوم بشئ مماثل لـ:
http://delphi4arab.net/forum/showthread.php?tid=7012
السلام عليكم
اود أخويا عبد العزيز و لؤي ان احتفظ و استرجع كل قاعدة البيانات
فعند الضغط على زر الحفظ ك:
;(procedure Tfentreesortie.Button10Click(Sender: TObject
;var PdirConfusedtring
begin
;'Pdir:='.\save pointe
;(CreateDir(Pdir
if DirectoryExists('save pointe')then
begin
;(copyfile(('gestion_pointage.exe'),('C:\pointe\sources\sauvgarde17.011.14.exe'),false
end
else begin
;(CreateDir(Pdir
;end
;end
لكن عند استرجاع قاعدة البيانات بعد اجراء تغييرات عليها (مثلا اضافة تسجيلات اخرى ) تبقى هي نفسها
وشكرا
السلام عليكم
أخي عبد العزيز فهمت منك انه يتوجب علي ان أضع كل الملفات في مجلد واحد(....dfm,pas,dpr,ddp,exe) و حفظها هناك وعند استرجاعها في وقت لاحق تأتي مكان الملفات الحالية و ابدالها
شكرا
إقتباس :لكن عند استرجاع قاعدة البيانات بعد اجراء تغييرات عليها (مثلا اضافة تسجيلات اخرى ) تبقى هي نفسها
وماذا كنت تنظر ؟ الاسترجاع يعيد ما تم حفظه وما عدل بعد الحفظ يضيع
إقتباس :يتوجب علي ان أضع كل الملفات في مجلد واحد
كنت اتحدث عن ملفات قاعدة البيانات *.db وغيرها
adel78 كتب :ان احتفظ و استرجع كل قاعدة البيانات
فعند الضغط على زر الحفظ ك:
لكن عند استرجاع قاعدة البيانات بعد اجراء تغييرات عليها (مثلا اضافة تسجيلات اخرى ) تبقى هي نفسها
انت تقوم بنسخ الملف التنفيذي ولا تقوم بنسخ قاعدة البيانات
عند النسخ اغلق كل الجدوال وضع كل قواعد البيانات في ملف مضغوط بتاريخ اليوم
او توجد طريقة اخرى استخدمتها في هذا البرنامج
PHP كود :
procedure TForm1.mniImporter1Click(SenderTObject);
 var
   
Integer;
   
StrArr :TArrayString;
begin
 sGauge1
.Visible :=True;
if 
not DirectoryExists(CurrentDir+'database\') then CreateDir(CurrentDir+'database\') ;
sOpenDialog1.InitialDir:=CurrentDir+'
database\';
sOpenDialog1.FileName:='
Exporte_'+FormatDateTime('yyyy_mm_dd', Now)+'.txt';
if sOpenDialog1.Execute then
 with TStringList.Create do begin
   try

  LoadFromFile(sOpenDialog1.FileName);
  sGauge1.MaxValue:=Count-1;
    for i:=0 to Count-1 do begin
StrArr := Split(Strings[i] ,'
|' );
if high(StrArr)>10 then 
if not Form2._exist(StrArr[7])  then begin
tbl1.Insert;
tbl1.FieldByName('
Wilaya').Value:=StrArr[0];
tbl1.FieldByName('
Type').Value:=StrArr[1];
tbl1.FieldByName('
Organisme').Value:=StrArr[2];
tbl1.FieldByName('
NOCCP').Value:=StrArr[3];
tbl1.FieldByName('
Ncontrat').Value:=StrArr[4];
tbl1.FieldByName('
Datecontrat').Value:=StrArr[5];
tbl1.FieldByName('
Adresse').Value:=StrArr[6];
tbl1.FieldByName('
Nom_et_Prenom').Value:=StrArr[7];
tbl1.FieldByName('
Poste_occupe').Value:=StrArr[8];
tbl1.FieldByName('
Tel').Value:=StrArr[9];
tbl1.FieldByName('
Fax').Value:=StrArr[10];
tbl1.FieldByName('
Email').Value:=StrArr[11];
tbl1.Post;
Application.ProcessMessages;
sGauge1.Progress:=i;
sGauge1.Suffix:='
% , Importation de '+StrArr[7]+' '+inttostr(i+1)+'/'+inttostr(Count)+' enregistrements terminées )';
//Sleep(10);
end;
end;
finally
  Free;
  sGauge1.Visible:=False;
  end;
  end;
end; 
يمكن ذلك عن طريق اضافة جدول جديد بداخل قاعدة البيانات المستخدمه وربطها مع جدولي الدخول والخروج يعني ربط التاريخ فيما بينهما ويكون ذلك بشيفره مخصصة وبعددها عندما تريد طلب متابعة سجل تاريخ ما تستخدم ذلك الجدول للفرز يعني ببساطه ستستعمل خاصية الفلترة Feltred للجدول كما تعودنا ... تحياتي