delphi4arab منتديات دلفي للعرب
مشكلة في حفظ قاعدة البيانات - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مشكلة في حفظ قاعدة البيانات (/showthread.php?tid=10053)

الصفحات: 1 2


RE: مشكلة في حفظ قاعدة البيانات - محمد عبد العزيز - 20-02-2019


منذ البداية لم اجرب الكود وذلك دائما يسبب نسيان امور صغيرة...

كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);



RE: مشكلة في حفظ قاعدة البيانات - medreg - 20-02-2019

لازالت المشكلة قائمة
فاضريت الى رفع المثال للإطلاع والتعديل
[attachment=3932]


RE: مشكلة في حفظ قاعدة البيانات - محمد عبد العزيز - 21-02-2019

المشكل كان بمكان أخر غير الكود....
عدل ما يلي

كود :
procedure TDM.DataModuleCreate(Sender: TObject); var i:integer; begin  ABSDatabase1.Open;  for i := 0 to ComponentCount-1 do  if( Components[ i ] is TABSTable )then  (Components[ i ] as TABSTable).Open; end; procedure TDM.DataModuleDestroy(Sender: TObject); var i:integer; begin  for i := 0 to ComponentCount-1 do  if( Components[ i ] is TABSTable )then  (Components[ i ] as TABSTable).Close;  ABSDatabase1.Close; end;
وايضا
كود :
procedure TForm1.Button1Click(Sender: TObject); var sPath,Pdir:string; begin  sPath:=ExtractFilePath(ParamStr(0));  Pdir:=sPath+'\Archives';  if not DirectoryExists(Pdir) then CreateDir(Pdir);  DM.OnDestroy(sender);  Sleep(200);  copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);  DM.OnCreate(sender);  Sleep(500);  showMessage('ok');  Close; end; procedure TForm1.Button2Click(Sender: TObject); var sPath,Pdir:string; begin  sPath:=ExtractFilePath(ParamStr(0));  Pdir:=sPath+'\Archives';  if MessageDlg('إسترجاع',mtWarning,mbOKCancel,0)=mrOK then begin  DM.OnDestroy(sender);  Sleep(200);  copyfile(pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),pchar(sPath+'sBase\Teste.ABS'),false);  Sleep(500);  DM.OnCreate(sender);  ShowMessage('تم');  end else begin  ShowMessage('عذرا');  end; Close; end;
ولا تنسى تغيير Connected الى False للمكون ABSDatabase1


RE: مشكلة في حفظ قاعدة البيانات - medreg - 21-02-2019

لقد تم تجريب الكود لاكن المشكلة لازالت قائمة
يعن قاعدة البيانات لم يتم حفظها بالمجلد archives


RE: مشكلة في حفظ قاعدة البيانات - Ben.Ja - 21-02-2019

الكود يشتغل جيدًا, أنت تجرب البرنامج من داخل مجلد Win32\Debug, في حين مجلد قاعدة البيانات خارج هذين المجلدين, أنقل الملف التنفيذي بجانب المجلد sbase حتى يستطيع النسخ. ألم تنتبه لـ:

كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);

؟؟!

كود :
sPath := ExtractFilePath(ParamStr(0)); // --> ..\somefolder\Project1.exe --> ..\somefolder sPath+'sbase\teste.ABS' // ..\somefolder\sbase\test.abs


أظن أنه من الأفضل التريث وقراءة الكود والعمل معه قليلاً قبل السؤال


RE: مشكلة في حفظ قاعدة البيانات - medreg - 21-02-2019

(21-02-2019, 10:17 PM)Ben.Ja كتب : الكود يشتغل جيدًا, أنت تجرب البرنامج من داخل مجلد Win32\Debug, في حين مجلد قاعدة البيانات خارج هذين المجلدين, أنقل الملف التنفيذي بجانب المجلد sbase حتى يستطيع النسخ. ألم تنتبه لـ:

كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);

؟؟!

كود :
sPath := ExtractFilePath(ParamStr(0)); // --> ..\somefolder\Project1.exe --> ..\somefolder sPath+'sbase\teste.ABS' // ..\somefolder\sbase\test.abs


أظن أنه من الأفضل التريث وقراءة الكود والعمل معه قليلاً قبل السؤال
بارك الله فيكم لم انتبه
لكن هناك مشكلة اخرى في الاسترجاع انه لا يتم استبدال القاعدة الحالية بالقاعدة المسترجعة


RE: مشكلة في حفظ قاعدة البيانات - medreg - 22-02-2019

بارك الله فيكم لقد حلت المشكلة
وكان الخطأ من عندي
اشكركم جميعا على تعاونكم معنا ونسأل المولى عز وجل ان يرزقكم ثواب هذه المساعدات
وان يثقل موازينكم بالحسنات وجمعة مباركة آمــــــــين