سؤال

في هذا الرابط ستجد الكلاس المستخدم لربط القائمتين

http://www.4shared.com/file/eRS-Ta5jce/LinkLists.html

http://www.4shared.com/file/Wy5K4NI8ce/ConnectToDB.html

 

في بداية الشرح أود أن أوضح :-

أنه يمكن ربط قائمتين أو أكثر حسب العلاقات بين الجداول

·         لربط قائمتين يجب أن تكون العلاقة في قاعدة البيانات بين الجداول (One – Many)

·         لربط أكثر من قائمتين (ثلاثة قوائم) يجب أن تكون العلاقة (Many - Many)

سنبدأ أولا بربط قائمتين (وقد استخدمت مثال لشركة بها مجموعة من الإدارات في كل إدارة مجموعة من الموظفين)

·         العلاقة (طرف لمجموعة) (One – Many)

يجب أولا تنزل الملفات في الرابط الآتي:-

بعد تنزيل الملفات سنفتح مشروع جديد في c#.net (new wpf application)

1.      ثم نقوم بإضافة مرجع

·         Right click à add reference

·         نختار الملفين

2.      نقوم إضافة قاعدة البيانات ويمكن تنزيلها من الرابط الآتي

http://www.4shared.com/file/RN9moKmcce/Company.html?

ثم نضغط على في واجهة  C#.NET

·         Right click à add existing item

3.      نستخدم أولا الملفين الذين تم إدراجهما

using LinkLists;

using ConnectToDB;

 

4.      نقوم بتعريف المتغير Employees  من الكلاس ListsToLink والموجود في LinkLists

ListsToLink Employees = new ListsToLink("Departments", "DepartID", "Department", "Employees", "EmployeeName");

5.      والبيانات فيه على التوالي هي

a.       الجدول الرئيس (Parent table in the relationship) وفي حالتنا جدول الإدارات

b.      الحقل الرئيسي من الجدول الرئيسي (primary key field in the parent table) في حالتنا حقل رقم الإدارة

c.       حقل البيانات من الجدول الرئيسي (data field in the parent table) في حالتنا حقل اسم الإدارة

d.      مثلا : 1- إدارة المشتريات 2- إدارة المبيعات وهكذا

e.      الجدول الفرعي (child table in the relationship) في حالتنا جدول الموظفين

f.        جدول البيانات الفرعية (data field in the child table ) اسماء الموظفين

g.       مثلا : محمد خليل وابراهيم مصطفى في إدارة المشتريات وبيومي مرعي وعزمي عبدالسلام في إدارة المبيعات

6.      نقوم إدراج الأدوات التالية في النافذة

<Label Height="30" HorizontalAlignment="Left" Margin="30,15,0,0" Name="lblLocation" VerticalAlignment="Top" Width="120" Content="Location" />

        <ComboBox Height="30" HorizontalAlignment="Left" Margin="30,50,0,0" Name="cmbLocation" VerticalAlignment="Top" Width="120" SelectionChanged="cmbLocation_SelectionChanged" />

        <Label Height="30" HorizontalAlignment="Left" Margin="160,15,0,0" Name="lblEmp" VerticalAlignment="Top" Width="120" Content="Employees" />

        <ComboBox Height="30" HorizontalAlignment="Right" Margin="0,50,223,0" Name="cmbEmp" VerticalAlignment="Top" Width="120" />

نضغط مرتين على النافذة ثم نفتح نافذة الكود ونكتب في (Window_Loaded) Method

//تحديد مكان وإسم قاعدة البيانات على الجهاز الخاص بك

//يجب مراعاة فرق المكان من جهازي لجهازك

            string dbName = @"C:\Users\Tarequ Lateef\Documents\Company.accdb";

            DataBase.DBName = dbName;

            //ملء القائمة الأولى

            string[] depts = Employees.PrimaryList;

            for (int item = 0; item < depts.Length; item++)

            {

                cmbLocation.Items.Add(depts[item]);

            }

وبعد ذلك عند تغيير الاختيار من القائمة الأولى وهي cmbLocation

نضغط على القائمة الأولى (combo box) نكتب في (cmbLocation_SelectionChanged) Method

 

أرجو أن تعم الفائدة على الجميع وأن ينتفع بها لجميع ومن أراد التواصل أو الاستفهام عن الغامض في الكلاس أو الشرح يمكنه التواصل على الرقم التالي : 01099356348

أو عبر الميل : [email protected]

أخوكم : مهندس/ طارق عبداللطيف ... مصر 

تم تعديل بواسطه tarequ_lateef
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

1 إجابات على هذا السؤال .

  • 0

هذه أول مشاركة لي في هذا المنتدى أو في أي منتدى على الإطلاق لذا أرجو التقييم 

والآراء وذلك للتحسين والتجويد فيما يلي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .