حفظ واسترجاع قاعدة البيانات Absolute
#1
حاولت أن أضع بين أيديكم كود خاص بحفظ واسترجاع قاعدة بيانات Absolute  إلى حد الساعة وجدت خطأ لم أعرف سببه 
أصل الكود هو لصاحبه Larbi Paradox  حاولت جاهد واستفدت من موضوع خاص بحقظ CCp على شكل Txt وقمت بتطوريه لجعله يعمل مع حفظ واسترجاع قاعدة البيانات المذكور لكنني لم أظفر هل من مساعدة


الملفات المرفقة
.rar   Sauvegarde.rar (الحجم : 41.92 ك ب / التحميلات : 18)
الرد
#2

السلام عليكم
هناك أكثر من خطأ
أولا إشرح ما الذي تود فعله ؟
1- زر لحفظ نسخة من قاعدة البيانات في مجلد بتاريخ اليوم ؟
2- زر لاسترجاع قاعدة البيانات من مجلد بتاريخ ما ؟

إشرح بالتفصيل حتى يمكن التصحيح.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • invocker
الرد
#3
السلام عليكم ورحمة الله :
طبعا كما تفضلت به هناك زرين إثنين والثالث مخفي :
أي 1- الأول إنشاء المجلد ليوم ما
2- حفظ قاعدة البيانات في المجلد الذي تم إنشائه
3- إسترجاع قاعدة البيانات ليوم محدد
المشكل يأستاذي الكريم محمد عبد العزيز أنه عند الحفظ يتجاهل اليوم الذي أنشأته والأمر الثاني بعد تجربة البرنامج لايحفظ قاعدة البيانات لم أعرف سبب المشكل وشكرا مسبقا -
ورمضان كريم وشكرا على الإهتمام .

تكملة فقط أريد أن يقوم هذا البرنامج بالحفظ على أساس ابوم المنشأ وعملية الإسترجاع بعد معاينة المجلد المطلول إسترجاع قاعدة البيانات أي ليوم محدد وشكرا أستاذنا الكريم.
الرد
#4

اولا مهم تغيير Connected المكون ABSDatabase1 الى False
في الحدث Create لل Form1
كود :
ABSDatabase1.Open; ABSTable1.Open;

في الحدث Close لل Form1
كود :
ABSTable1.Close; ABSDatabase1.Close;

زر لحفظ نسخة من قاعدة البيانات في مجلد بتاريخ اليوم
كود :
var sPath,dPath:string; begin ABSDatabase1.Close; sPath:=ExtractFilePath(ParamStr(0)); dPath:=sPath+FormatDateTime('YYYY-MM-DD',Now); CreateDir(dPath); Sleep(500); copyfile(pchar(sPath+'Facture.ABS'),pchar(dPath+'\backup.abs'),false); Sleep(500); ABSDatabase1.Open; ABSTable1.Open; end;

زر لاسترجاع قاعدة البيانات من مجلد بتاريخ ما
كود :
var sPath,dPath:string; begin ABSDatabase1.Close; sPath:=ExtractFilePath(ParamStr(0)); dPath := sPath+'Facture.ABS'; if SelectDirectory(spath, [], 0) then copyfile(pchar(sPath+'\backup.abs'),pchar(dPath),false); Sleep(1000); ABSDatabase1.DatabaseFileName:= dPath; ABSDatabase1.Open; ABSTable1.Open; end;

لا تنسى اضافة FileCtrl في الuses لاننا استخدمنا SelectDirectory
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 3 users say قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • invocker, أبو معاذ, ALG2009
الرد
#5
سؤال فقط ،
هل يمكن أن نقوم بنفس العملية بالنسبة لقاعدة البيانات فايربيرد ؟
بمعني نسخ مباشرة للملف و تغيير اسمه إلى ملف بتاريخ النسخ؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#6
(14-05-2021, 05:26 PM)أبو معاذ كتب : هل يمكن أن نقوم بنفس العملية بالنسبة لقاعدة البيانات فايربيرد ؟
نعم بشرط إيقاف أي إتصال + إيقاف الServer
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ
الرد
#7
(14-05-2021, 05:30 PM)محمد عبد العزيز كتب :
(14-05-2021, 05:26 PM)أبو معاذ كتب : هل يمكن أن نقوم بنفس العملية بالنسبة لقاعدة البيانات فايربيرد ؟
نعم بشرط إيقاف أي إتصال + إيقاف الServer

تقصد ايقاف الاتصال في حالة استعادة البيانات فقط ، أليس كذلك ؟
هل هناك مشكلة في حالة نسخ ملف قاعدة البيانات و هي مستعملة ؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#8
(15-05-2021, 08:50 AM)أبو معاذ كتب : تقصد ايقاف الاتصال في حالة استعادة البيانات فقط ، أليس كذلك ؟
لا
كيف يمكنك نسخ ملف قيد الاستعمال ؟ النتيجة ملف معطوب / تالف
يجب إيقاف أي إتصال قبل أي عملية سواء حفظ أواسترجاع
غير ذلك يمكن استخدام الطرق الاخرى.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ
الرد
#9
أشكرك أستاذنا محمد عبد العزيز وجزاك الله خيرا فعلا استفدت من ردك لك كل الشكر والإحترام وبارك الله فيك وليكن ردك حول إستفساري إن شاء الله الفائدة عامة .
[-] كل من 1 user says قال شكرا ل damoufid على المشاركة المفيدة
  • أبو معاذ
الرد
#10
هل من الضروري إضافة أمر Sleep(500)

وما الفائدة من إستعماله؟
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم