السلام عليكم ورحمة الله وبركاته
- الدرس اليوم عن كيفية البحث في قاعدة البيانات بستعمال Edit فقط للبحث في اكثر من حقل
- كل ما نحتاجه لفعل ذالك هو قاعدة بيانات ( Data Base او Access او SQL Server ) تم نقوم بربطها بدلفي
طريقة ربط قاعدة البيانات بدلفي :
1- اولا قيام بصنع قاعدة بيانات بإحدا البرامج لصنع قواعد البيانات .
2- فتح برنامج الدالفي تم نقوم بوضع الادوات التالية :
من قائمة الادوات نذهب الى ADO ثم نختار الادوات التالية :
* ADOConnection
* ADOTable
تم من قائمة الادوات نذهب الى Data Access ثم نختار الاداة التالية :
* DataSource
II- تم نضغط ....build تفتخ لنا فورم اخرى
الان سنقوم بربط بستعمال هده الادوات :
I- نضغط على ADOConnection1 مرتين ستفح لنا هده الفورمII- تم نضغط ....build تفتخ لنا فورم اخرى
III- نختار منها Microsoft OLE DB Provider for ODBC Drivers تم نضغط على Next
ملاحظ : لا احتم عليك هذا الاختيار يمكن اختيار مايناسبك لقد استعملت هذا الاختيار لنه يقوم بربط جميع الانواع القواعد البيانات
IV- تظهر لنا الفورم التالية :
وهكذا تتم عملية الربط دالفي بقاعدة البيانات
تم من قائمة الادوات نذهب إلى Data Controls ثم نختار الأدوات التالية :
* DBGrid
* DBNavigator
نقوم الان بربط هذه المكونات كتالي :
اولا علينا بتعديل على خصائص ADOConnection كما يلي :
تم نقوم برط ADOTable بـ ADOConnection تم نقوم بختيار الجدول وتصبح خصائص ADOTable كما يلي :
تم نقوم برط DataSource مع ADOTable كما يلي :
تم نقوم بربط كل من BDGrid1 و DBNavigator بـ DataSource كتالي :
هكدا قمنا بإضهار الجدول في DBGrid
تم قم بتشغيل البرنامج تم ضف عدة اشخاص في الجدول
الان نضغط مرتين على Edit1 ونكتب الكود التالي للبحث في جميع خنات الجدول بتدالول :
اي ان لم يجد النتيجة في الخانة الاولى ينتقل الى الثانية .........الخ
صور من تشغيل البرنامج
ارجوا انكم استفدتم من هذا الشرح
ملاحظ : لا احتم عليك هذا الاختيار يمكن اختيار مايناسبك لقد استعملت هذا الاختيار لنه يقوم بربط جميع الانواع القواعد البيانات
IV- تظهر لنا الفورم التالية :
وهكذا تتم عملية الربط دالفي بقاعدة البيانات
تم من قائمة الادوات نذهب إلى Data Controls ثم نختار الأدوات التالية :
* DBGrid
* DBNavigator
نقوم الان بربط هذه المكونات كتالي :
اولا علينا بتعديل على خصائص ADOConnection كما يلي :
تم نقوم برط ADOTable بـ ADOConnection تم نقوم بختيار الجدول وتصبح خصائص ADOTable كما يلي :
تم نقوم برط DataSource مع ADOTable كما يلي :
تم نقوم بربط كل من BDGrid1 و DBNavigator بـ DataSource كتالي :
هكدا قمنا بإضهار الجدول في DBGrid
تم قم بتشغيل البرنامج تم ضف عدة اشخاص في الجدول
الان نعود الى الدرسنا
الان نقوم باضافة Edit و label ثم نقوم بحدف الكتابة الموجودة في edit في text في الخصائص :الان نضغط مرتين على Edit1 ونكتب الكود التالي للبحث في جميع خنات الجدول بتدالول :
اي ان لم يجد النتيجة في الخانة الاولى ينتقل الى الثانية .........الخ
procedure TForm1.Edit1Change(Sender: TObject);
Begin
If Edit1.Text='' then
ADOTable1.Filtered:=false // فارغة edit هنا اقف الفلتر عندما تكون الخانة
Else
Begin
if ADOTable1.Locate('Nom',edit1.Text,[loPartialKey]) then // هنا يقوم بتحقق من وجود الحرف في الاسم
begin
ADOTable1.Filter:='Nom like '+quotedstr(edit1.Text+'%'); // هنا يقوم بتحقق من عملية الفلتر
ADOTable1.Filtered:=true; // هنا يقوم بالفلتر
end
else
begin
ADOTable1.Filtered:=false; // هنا يقوم بالغاء الفلتر
if ADOTable1.Locate('Prénom',edit1.Text,[loPartialKey]) then // هنا يقوم بتحقق من وجود اللقب
begin
ADOTable1.Filter:='Prénom like '+quotedstr(edit1.Text+'%');// هنا يقوم بتحقق من عملية الفلتر
ADOTable1.Filtered:=true;// هنا يقوم بالفلتر
end
else
begin
ADOTable1.Filter:='Nom like '+quotedstr(edit1.Text+'%');
ADOTable1.Filtered:=true;
end;
end;
end;
end;
Begin
If Edit1.Text='' then
ADOTable1.Filtered:=false // فارغة edit هنا اقف الفلتر عندما تكون الخانة
Else
Begin
if ADOTable1.Locate('Nom',edit1.Text,[loPartialKey]) then // هنا يقوم بتحقق من وجود الحرف في الاسم
begin
ADOTable1.Filter:='Nom like '+quotedstr(edit1.Text+'%'); // هنا يقوم بتحقق من عملية الفلتر
ADOTable1.Filtered:=true; // هنا يقوم بالفلتر
end
else
begin
ADOTable1.Filtered:=false; // هنا يقوم بالغاء الفلتر
if ADOTable1.Locate('Prénom',edit1.Text,[loPartialKey]) then // هنا يقوم بتحقق من وجود اللقب
begin
ADOTable1.Filter:='Prénom like '+quotedstr(edit1.Text+'%');// هنا يقوم بتحقق من عملية الفلتر
ADOTable1.Filtered:=true;// هنا يقوم بالفلتر
end
else
begin
ADOTable1.Filter:='Nom like '+quotedstr(edit1.Text+'%');
ADOTable1.Filtered:=true;
end;
end;
end;
end;
ارجوا انكم استفدتم من هذا الشرح