تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إنشاء مشروع باستخدام sql server و linq وتقارير crystal report
#2
لنلقي نظرة على قاعدة البيانات، سوف نحتاج للجداول التالية:
  • جدول للمستخدمين.
  • جدول للأسماء.
  • جدول لأرقام الهواتف.
جدول المستخدمين سوف يحتوي على الأعمدة:
  • عمود للاسم.
  • عمود لكلمة المرور.
  • عمود هل المستخدم مدير.
  • عمود هل المستخدم مفعل.
جدول الاسماء سوف يحتوي على الأعمدة:
  • الاسم.
  • العنوان.
  • ملاحظات.
جدول أرقام الهواتف سوف يحتوي على الأعمدة:
  • رقم الشخص. (علاقة)
  • رقم الهاتف.
* في كل جدول سوف يكون هنالك حقل ID خواصه: مفتاح أساسي وترقيم تلقائي.

نبدأ مشروع جديد باسم (TelephoneBook)، أول ما سنقوم به هو عمل قاعدة البيانات، نتوجه للـ Menu Bar ونختار:
  • Project
  • Add New Item
ثم نختار LINQ To SQL Classes، ليكن اسمه (PhoneBookDB).

* يمكننا فعل ذلك من Solution Explorer أيضاً، بتحديد المشروع ثم الضغط بالزر الأيمن من الفأرة واختيار:
  • Add
  • New Item
التبويب الذي ظهر أمامنا بعد إضافة العنصر يبدو فارغاً ولا يحتوي سوى:



نختار Toolbox لتطالعنا نافذة الأدوات، ستبدو كما في هذه الصورة:



هذه الأدوات الخاصة بالفئة (محتوى البيانات)، نسحب منها أداة Class ونضعها على المصمم:



الآن لو ضغطنا مرتين بالفأرة على كلمة Class1 سيتم تمكيننا من تحرير الاسم:



نغير الاسم لـ Users ثم نضغط Enter من لوحة المفاتيح. نضغط بالزر الأيمن من الفأرة على الـ Users لنضيف خاصية جديدة من:
  • Add
  • Property
الآن نجد الخاصية الجديدة في حالة تحرير الاسم، نكتب ID، ثم من لوحة المفاتيح نضغط Enter مرتين، ليتم اعتماد الاسم وإنشاء خاصية جديدة اسمها Username:



بعد أن أضفنا خاصية الـ Username إما أن نضغط من لوحة المفاتيح Enter ليتم إنشاء خاصية جديدة، وإما أن نضغط بالزر الأيمن للفأرة ونختار كما فعلنا أول مرة، لنضيف خاصية اسمها Password وخاصيتين أخريين اسمهما Admin و Active:



بقي علينا أن نضبط الخصائص، نحدد ID ثم نضغط F4 لننتقل لنافذة Properties أو بالضغط عليها بزر الفأرة الأيمن ثم اختيار Properties، لنجعل خصائص الخاصية ID كما يلي:
كود :
[align=left]Auto Generated Value = True
Auto-Sync = OnInsert
Primary Key = True
Read Only = True
Source = ID
Type = Integer (System.Int32)
[/align]
(خاصية Source مهمة جداً، فهي لتحديد العمود المرتبط من قاعدة البيانات بهذه الخاصية، إذا كان فارغاً سيكون هناك خطأ في إنشاء قاعدة البيانات، ليتم تجاوز إنشاء هذه العامود، وإكمال الباقي)
خصائص الخاصية Username:
كود :
[align=left]Source = Username
[/align]
النوع لن نغير فيه شيء لأنه من نوع نص String وهو ما نريد، لكن سيأخذ الحجم الافتراضي من طول النص في قاعدة البيانات وهو 4000 حرف، وهذا حجم كبير، لذلك هناك خاصية اسمها Server Date Type تمكننا من تحديد النوع، سنكتب فيها (nvarchar(20 لنحدد طول النص بـ 20 حرف كحد أقصى.

خصائص الخاصية Password:
كود :
[align=left]Source = Password
Server Date Type = nvarchar(20)
[/align]
خصائص الخاصية Admin:
كود :
[align=left]Source = Admin
Type = Boolean (System.Boolean)
[/align]
خصائص الخاصية Active:
كود :
[align=left]Source = Active
Type = Boolean (System.Boolean)
[/align]
الآن وقد أتممنا هذه الفئة، سننشئ فئة جديدة اسمها Persons، فيها هذه الخصائص:

  1. ID
  2. Name
  3. Address
  4. Notes
خصائص الخاصية ID نجعلها كما في الفئة السابقة (يمكننا نسخ الخاصية ID من الفئة Users ولصقها في الفئة الجديدة لتحمل جميل الخصائص، دون عناء التغيير)، خصائص الخاصية Name كما في الـ Username من الفئة السابقة أيضاً، الخاصية Address فقط نزيد من قيمه عدد الحروف في خاصية Server Date Type لتساوي (nvarchar(50، والخاصية Note نغير فيها خاصية الـ Source لتكون نفس الاسم، كما فعلنا في السابق، وندع Server Date Type فارغة لتكون في أعلى قيمة وهي 4000 حرف، ولا ننسى أنها من المحتمل أن تكون فارغة (أي لا يتم اسناد أي قيم لها من المستخدم)، لذلك نضبط الخاصية Nullable لتساوي True.

الآن ننشئ فئة جديدة اسمها PhoneNumbers، فيها من الخصائص ما يلي:
ID وخصائصها كالسابق.
PersonID وخصائصها: (Type = Integer (System.Int32، ولا ننسى أن نضبط خاصية الـ Source. (هذه الخاصية للعلاقة ما بين الجدولين).
Phone وخصائصها: (Server Date Type = nvarchar(10، ولا ننسى أيضاً خاصية الـ Source.

الآن نحدد فئة الـ Users ونذهب لنافذة الخصائص لنضع قيمة الخاصية Source بنفس اسم الفئة، وكذلك باقي الفئات.
الفئة Users: الخاصية Source = Users
الفئة Persons: الخاصية Source = Persons
الفئة PhoneNumbers: الخاصية Source = PhoneNumbers

قد شارفنا على الانتهاء من العمل في قاعدة البيانات، بقي أن نربط جدول الأشخاص مع جدول الأرقم بعلاقة.
الرد }}}
تم الشكر بواسطة: مبرمج بلا حدود


الردود في هذا الموضوع
إنشاء مشروع باستخدام sql server و linq وتقارير crystal report - بواسطة DreamsDotNet - 08-03-13, 05:30 PM


التنقل السريع :


يقوم بقرائة الموضوع: