30-11-2017, 02:44 PM
واجهتي مشكلة عند تغيير محرك او مجلد البرنامج لا يتعرف البرنامج على قاعدة المعطيات ارجو من الاخوة اعطائنا توضيحات حول هذه المشكلة او طرح مثال لتعم الفائدة ( قاعدة المعطيات المستعملة Access
(01-12-2017, 08:05 AM)bouh25 كتب : [ -> ]تم الحل و الشكر الجزيل لابو معاذ
(01-12-2017, 03:44 PM)أبو معاذ كتب : [ -> ]السلام عليكم ،
ممكن ارفاق كود الاتصال كاملا؟
ثم هل قاعدة البيانات موجودة في المسار E:\Person\Base.mdb ،
أم أنها في مجلد آخر داخل E:\Person .
إذا كان في مجلد أخر لا بد من إضافته .
لأن الدالة ExtractFileDir لا تعطيك إلا مسار الملف التنفيذي.
مثال إذا كان المجلد اسمه Data و موجود داخل المجلد Person
في هذه الحالة لا بد من كتابة المسار كاملا :
E:\Person\Data\Base.mdb
procedure TForm1.FormCreate(Sender: TObject);
var ThePath : String ;
begin
Thepath := ExtractFilePath (Application.ExeName);
ADOConnection1.Close;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Thepath+'\base.mdb;Persist Security Info=False';
ADOConnection1.Connected := True;
ShowMessage('OK');
end;(01-12-2017, 08:09 PM)أبو معاذ كتب : [ -> ]السلام عليكم ،
مرحبا بك مرة أخرى ،
لنجزئ المشكلة :
1- لا بد من استخراج المسار الكلي باستعمال الدالة ExtractFilePath نحتقظ به في متغير نصي و ليكن ThePath
بعد ذلك لا بد من تغيير في الخاصية ConnectionString الخاصة ب ADOConnection1
وليكن ذلك في الحدث OnCreate للفورم الرئيسي :
كود :procedure TForm1.FormCreate(Sender: TObject); var ThePath : String ; begin Thepath := ExtractFilePath (Application.ExeName); ADOConnection1.Close; ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Thepath+'\base.mdb;Persist Security Info=False'; ADOConnection1.Connected := True; ShowMessage('OK'); end;