منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الدرس الثاني والستون - ADO.net - الجزء الثاني - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90)
+--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113)
+---- قسم : دورة .net 2008 . لنبدأ سوياً (http://vb4arb.com/vb/forumdisplay.php?fid=138)
+---- الموضوع : الدرس الثاني والستون - ADO.net - الجزء الثاني (/showthread.php?tid=5657)



الدرس الثاني والستون - ADO.net - الجزء الثاني - RaggiTech - 14-10-12

كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .


انتهينا من الفئات الاساسية في عالم ADO.net ، وجاء وقت التطبيق الآن .
سنحاول الآن تطبيق انشاء قاعدة بيانات مثلاً للموظفين باسم Employee ، الآن قم بتشغيل نسخة فيجوال ستوديو جديدة Windows Forms ، ومن ثم قم باختيار المسار والبيانات اللازمة .

بداية لا بد أن يكون لديك نسخة Sql Server من الاصدار السابع أو احدث او على الاقل النسخة الموجودة مع الفيجوال ستوديو Express على الرابط التالي : http://msdn.microsoft.com/vstudio/express/sql

والتي تقع ضمن المجموعة المجانية من مايكروسوفت .

الآن من قائمة View قم باختيار Server Explorer ستجده على الجانب ، قم بالضغط بالزر الأيمن واختيار Create New Sql Server Database بالشكل التالي :


الآن اصبح بامكانك انشاء قاعدة البيانات ، قم فقط بتحديد الاسم ثم اضغط Create بالشكل التالي :



*** قد تظهر لك مشكلة عدم وجود سيرفر في الاصل لتتصل به ، في الغالب حل هذه المشكلة يكون لعدم اتصالك بالشبكة ، فقط قم بتوصيل الشبكة - حتى في حالة عدم وجود اتصال بالانترنت - وجرب . فقط .

*** قد يظهر لك اسم سيرفر ولكن تظهر لك رسالة الخطأ التالية :

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

في هذه الحالة من البرامج قم باختيار Microsoft SQL Server 2005 ومن ثم Configuration Tools ومن ثم SQL Server 2005 Surface Area Configuration ، ستجد من ضمن الخصائص Surface Area Configuration for Services and connections ، قم بفتحها والتأكد من ان خصائص Local and remote connections مفعلة ، قم ايضاً بالتأكد من أن السيرفر يعمل .

ايضاً يمكنك متابعة مجموعة من الحلول هنا :
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=192622&SiteID=1

الآن اصبح لديك قاعدة بيانات وجاهزة للعمل ، سنبدأ باضافة جدول بيانات الموظفين بالشكل التالي :


لاحظ انه بامكانك اضافة اي محتويات بهذا الشكل مثل الدوال والاجراءات Stored Procedure وغيره ، الآن قمنا باختيار اضافة جدول بالشكل التالي :


لتعيين مفتاح رئيسي نقوم باختيار set primary key ولجعله autonumber نقوم بتعديل Identity Specfications إلى yes ومن ثم نقوم بتحديد Increment وهو معدل الزيادة إلى 1 كما في الشكل التالي :


وبنفس الطريقة يمكنك تعديل قيم وخصائص اي حقل ترغب فيه بنفس الطريقة .

يمكنك مراجعة انواع البيانات في sql server وخصائصها من هنا :
http://www.teratrax.com/sql_guide/data_types/sql_server_data_types.html

وللتعرف على نظائرها في لغة البرمجة هنا :
http://msdn.microsoft.com/en-us/library/ms131092.aspx

اخيراً بعد الانتهاء قم بحفظ الجدول باسم Employee_Info مثلاً .


الدرس الثاني والستون - ADO.net - الجزء الثاني - RaggiTech - 14-10-12

كاتب المشاركة : أحمد جمال

Stored Procedure :

لعلك قد اطلعت سابقاً على معنى جمل الاستعلام ، إن لم تكن كذلك انصحك بمراجعة دروس الاكسيس على هذا الرابط متضمنة دروس الاستعلامات :
http://vb4arb.com/vb/forumdisplay.php?31
ال Stored Prcoedure هو جملة استعلام مخزنة في قاعدة البيانات ، يمكنك معرفة المزيد عن تفاصيلها هنا :
http://www.arabteam2000-forum.com/index.php?showtopic=84176

ما يعنينا هنا هو كيفية انشاء جمل الاستعلام تلك في مشروعنا ، لنفترض اننا نريد استرجاع جميع الاسماء الأولى للاشخاص الذي يكبر عمرهم عن 21 سنة ، لذا جملة الاستعلام الافتراضية ستكون بالشكل التالي :

كود :
[SIZE=3]select [First Name] from employee_info where age>21[/SIZE]


وهو ما يتم تحويله ل Procedure بالشكل التالي - لو كنت قرأت الدرس السابق - :


كود :
ALTER PROCEDURE dbo.GetAge

كود :
[SIZE=3]@firstname char(10) output[/SIZE]
[SIZE=3]AS[/SIZE]
[SIZE=3]SELECT [First Name] from Employee_info where age > 21[/SIZE]

والآن سنذهب إلى قسم Stored Procedure وسنختار انشاء واحد جديد ونكتب فيه هذه الاستعلام :



يمكنك تجربة الناتج عن طريق اختيار Excute ، وسيكون الناتج شيئاً مثل هذا :





يمكنك جعل جملة الاستعلام تستقبل بارميتر لتحديد مثلاً الشرط المطلوب ، الشكل التالي كمثال :


كود :
[SIZE=3]@condition int,[/SIZE]
[SIZE=3]@firstname char(10) output[/SIZE]
[SIZE=3]AS[/SIZE]
[SIZE=3]SELECT [First Name] from Employee_info where age > @condition[/SIZE]


@condition int,@firstname char(10) outputASSELECT [First Name] from Employee_info where age > @condition



في هذه الحالة يمكنك تمرير بارميتر سواء من البرنامج او حتى في ال SQL Server لتقوم بتنفيذ جملة الاستعلام على اساسه


يتبع ....


الدرس الثاني والستون - ADO.net - الجزء الثاني - RaggiTech - 14-10-12

العلاقات :
قم بعمل جدول فرعي مثلاً نضع فيه المشاريع التي يعمل عليها كل موظف ، سيكون الناتج شيئاً مثل هذا :


لربط العلاقات ، من القائمة الجانبية ستجد Database Diagram ، قم باختيار Add New وقم بسحب القيم التي تود ربطها في العلاقة بالشكل التالي مثلاً :



الآن نكون قد انتهينا من دروس انشاء قاعدة بيانات سريعة خاصة بنا ، في الدرس القادم سنترك Sql Server ونعود إلى عالم ADO.net .

لو كنت تحب التعرف على المزيد في عالم SQL Server يمكنك البدء من هنا :
http://msdn.microsoft.com/en-us/sqlserver/default.aspx

ويمكن بعد انتهاء مرحلة الدروس الاساسية ان اعود لاضافة بعض النقاط بخصوص SQL Server .


والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .