![]() |
|
قاعدة بيانات اكسس دينامكية - نسخة قابلة للطباعة +- 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 (الحجم : 47.31 ك ب / التحميلات : 12)
RE: قاعدة بيانات اكسس دينامكية - wadoud - 20-02-2016 احسن الله عليك اخي السوفي انا استعمل مكونات ADO هذا ما احسنه الى الان رجائي النظر في الكود الذي كتبته و ان امكن مثال صغير من اجل تطبيقه على الوجه الاحسن. شكرا جزيلا RE: قاعدة بيانات اكسس دينامكية - wadoud - 20-02-2016 في المرفقات مثال عن اتصال بقاعدة بيانات اسس برمجيا ولن يظر خطا عند التنفيد كما في الصورة ![]() المساعدة يا اساتذة من فضلكم RE: قاعدة بيانات اكسس دينامكية - PLANSHARP - 21-02-2016 جرب هذا أخي. RE: قاعدة بيانات اكسس دينامكية - wadoud - 22-02-2016 أشكرك كثيرا أخي PLANSHARP أحسن الله اليك. هذا ما كنت اريد . هناك سؤال وحيد استاذ اذا خرجنا من البرنامج هل نغلق الاتصال بقاعدة البيانات ام نترك الكود اعلاه على حاله؟. اشكرك مرة اخرى. RE: قاعدة بيانات اكسس دينامكية - PLANSHARP - 22-02-2016 عند إغلاق البرنامج سيتم قطع الإتصال بقاعدة البيانات تلقائيا. RE: قاعدة بيانات اكسس دينامكية - wadoud - 22-02-2016 جزاك الله خيرا. |