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=7533)



قاعدة بيانات اكسس دينامكية - wadoud - 19-02-2016

السلام عليكم ورحمة الله وبركاته,
احبابي الكرام
اسال عن كيفية انشاء قاعدة بيانات  اكسس   محمية [b]بكلمة سر متصلة بدلفي دينامكيا حتى لا تقع مشاكل عند تغير المسار لقد وجدت هذا الكود ولكنني لم استطع الاتصال[/b]
كود :
procedure TForm1.FormCreate(Sender: TObject); var passwd:string; begin  passwd:='123456';  adoconnection1.ConnectionString:=     'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+     'Data Source='+extractfilepath(application.ExeName)+'\Test.mdb'+     ';Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+     'Jet OLEDB:Database Password='+passwd+     ';Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+     'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password='+passwd+     ';Jet OLEDB:Create System Database=False;'+     'Jet OLEDB:Encrypt Database=False;'+     'Jet OLEDB:Don''t Copy Locale on Compact=False;'+     'Jet OLEDB:Compact Without Replica Repair=False;'+     'Jet OLEDB:SFP=False;';  adoconnection1.Connected:=true;  AdoTable1.TableName:='Table1';  Adotable1.Active:=true; end;

مع الشرح الوافي جزاكم الله خيرا.


RE: قاعدة بيانات اكسس دينامكية - السوفي - 19-02-2016

[quote pid='37255' dateline='1455852009']
السلام عليكم ورحمة الله وبركاته,
احبابي الكرام
اسال عن كيفية انشاء قاعدة بيانات  اكسس   محمية [b]بكلمة سر متصلة بدلفي دينامكيا حتى لا تقع مشاكل عند تغير المسار لقد وجدت هذا الكود ولكنني لم استطع الاتصال

[/b]
لك الحل بشرط وضع قاعدة البيانات جنب الملف التنفيذي للمشروع سوى كان في جهازك او اي جهاز اخر

إذا كنت تستخدم وحدة (MataModule) فعليك اضافة هذه المكتبه الى الوحده 
uses
 Vcl.Dialogs,
//من اجل ظهور رسالة فشل الاتصال 

// ملاحظة الاتصال هنا عن طريق friedac
ثم لك الخيار في اختيار اين تكتب اجراء الاتصال والمستحسن في حدث الانشاء كما هو موضح

procedure TDM.DataModuleCreate(Sender: TObject);
var
i:Byte;// من اجل الحلقة التكرارية
begin
 try
 with con1 do
  begin   Close;// هنا غلق الاتصال في حالة كان متصل
   with Params do
    begin
     Clear;
     Add('DriverID=MSAcc');// دريفر ادي
     Add('Database='+ExtractFilePath(ParamStr(0))+'\test.accdb');
     // ExtractFilePath(ParamStr(0)) من اجل جلب مسار الملف التنفيذي دون اسم الملف التنفيذي
  // '\test.accdb' هذه اسم قاعدة البيانات وامتدادها لا يهم سوى كانت بتنسيق 2003 او 2007 

     Add('Password=4444444');// اكتب كلمة السر للقاعدة ان وجدت او احذفه كاملا 
    end;
   Open;
  end;
  except  // حتى لا يتوقف البرنامج في حالة الفشل في الاتصال
   showmessage('لا يمكن الاتصال بقاعدة البينات ...؟؟؟');
   Exit;  //الخروج وعدم اكمال اوامر باقي الاجراء
 end;
 // هنا المشكله
  for I := 0 to ComponentCount - 1 do // من اجل استخدتم عدد المكونات على الفورم
   if (Components[i] is TFDTable) then // التحقق من نوع المكون اذا كان من نوع جدول ينفذ
   ( Components[i] as TFDTable).Open;// هنا يجلب اسم الجدول ثم يقوم بفتحه

 end;

// اتمنى اني اكون افدتك ويكون شرحي وافي 
ولله الحمد من قبل ومن بعد
السلام عليكم ورحمة الله وبركاته

[/quote]


.png   الاتصال.png (الحجم : 47.31 ك ب / التحميلات : 12)


RE: قاعدة بيانات اكسس دينامكية - wadoud - 20-02-2016

احسن الله عليك اخي السوفي
انا استعمل مكونات ADO هذا ما احسنه الى الان
رجائي النظر في الكود الذي كتبته و ان امكن مثال صغير من اجل تطبيقه على الوجه الاحسن.
شكرا جزيلا


RE: قاعدة بيانات اكسس دينامكية - wadoud - 20-02-2016

في المرفقات مثال عن اتصال بقاعدة بيانات اسس برمجيا ولن يظر خطا عند التنفيد كما في الصورة
[صورة: ?f2ee924e6d2efb0ae3944b7e99acc8cbo.jpg]
المساعدة يا اساتذة من فضلكم


RE: قاعدة بيانات اكسس دينامكية - PLANSHARP - 21-02-2016

جرب هذا أخي.


RE: قاعدة بيانات اكسس دينامكية - wadoud - 22-02-2016

أشكرك كثيرا أخي

PLANSHARP أحسن الله اليك.

هذا ما كنت اريد . هناك سؤال وحيد استاذ اذا خرجنا من البرنامج هل نغلق الاتصال بقاعدة البيانات ام نترك الكود اعلاه على حاله؟.
اشكرك مرة اخرى.


RE: قاعدة بيانات اكسس دينامكية - PLANSHARP - 22-02-2016

عند إغلاق البرنامج سيتم قطع الإتصال بقاعدة البيانات تلقائيا.


RE: قاعدة بيانات اكسس دينامكية - wadoud - 22-02-2016

جزاك الله خيرا.