ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو...

18
ADO.NET ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وذﻟﻚ ﺑﺄﺳﺘﺨﺪام ﻣﻜﺘﺒﯿﺎتado.net : اوﻻ ﺗﺠﮭﯿﺰ اداة اﻻﺗﺼﺎل ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وھﻰ ﻋﺒﺎره ﻋﻦ ﺟﻤﻠﮫ ﻧﺼﯿﮫ ﺗﻜﺘﺐ ﻋﻠﻰ ﺣﺴﺐ ﻧﻮع ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺴﺘﺨﺪﻣﮫ اذا ﻛﺎﻧﺖ اﻛﺴﯿﺲ او اوراﻛﻞ او ﺳﯿﻜﻮل ﺳﯿﺮﻓﯿﺮ. اﻟﻨﻮع اﻻول ﻣﻦ ﺟﻤﻠﺔ اﻻﺗﺼﺎل ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﺗﻜﺘﺐ اذا ﻛﻨﺖ ﺗﻌﻤﻞ ﻋﻠﻰ ﺳﯿﺮﻓﯿﺮ ﻣﺤﻠﻰ واﻟﻤﻘﺼﻮد ﺑﮫ اﻟﺠﮭﺎز اﻟﺬى ﺗﻌﻤﻞ ﻋﻠﯿﮫ وﻟﯿﺲ ﺳﯿﺮﻓﯿﺮ ﻋﻠﻰ اﻟﺸﺒﻜﮫ اﻟﺪوﻟﯿﮫ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻦ ﺧﻼل اﻻواﻣﺮ وذﻟﻚ ﺑﺎﺳﺘﺨﺪام ﻛﺎﺋﻦ اﻟﻔﺼﯿﻞSqlCommand : ان اﻧﻮع اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻛﺜﯿﺮه ﺟﺪا ﻟﻜﻦ ﻛﻠﮭﺎ ﺗﻨﺪرج ﺗﺤﺖ ﺻﯿﻐﺔ اﻋﻄﺎء اﻣﺮا ﻣﺎ ﯾﻤﺮر ﻟﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺑﺮﻣﺠﯿﺎ ﻋﻦ طﺮﯾﻖ ﻓﺼﯿﻞ ھﻮ اﻟﻤﺴﺌﻮل ﻋﻦ ﺗﻤﺮﯾﺮ اﻻواﻣﺮ ﻟﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت واﺳﺘﺮﺟﺎع اﻟﻨﺘﺎﺋﺞ اﻟﻤﻄﻠﻮﺑﮫ واﻟﺘﻌﺎﻣﻞ ﻣﻊ ھﺬا اﻟﻔﺼﯿﻞ ﻟﺠﻌﻠﮫ ﯾﻨﻔﺬ اﻻواﻣﺮ ﺑﺸﻜﻞ ﺻﺤﯿﺢ ﯾﻜﻮن ﻋﻠﻰ ﻋﺪ ة ﻣﺮاﺣﻞ وھﻰ ﻛﺎﻟﺘﺎﻟﻰ وﻣﻦ اﻟﻤﻤﻜﻦ ﻛﺘﺎﺑﻰ ﺗﻌﺮﯾﻔﺔ اﻻﺗﺼﺎل ﻛﺒﺎراﻣﺘﺮ ﻟﺪاﻟﺔ اﻻﺗﺼﺎل ﻋﻠﻰ ان ﺗﻮﺿﻊ ﻓﻰ ﺷﻜﻞ ﻧﺼﻰ

Transcript of ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو...

Page 1: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

ADO.NET

: ado.netكیفیة التعامل مع قواعد البیانات وذلك بأستخدام مكتبیات

اوال تجھیز اداة االتصال بقاعدة البیانات وھى عباره عن جملھ نصیھ تكتب على حسب نوع

.قاعدة البیانات المستخدمھ اذا كانت اكسیس او اوراكل او سیكول سیرفیر

النوع االول من جملة االتصال بقاعدة البیانات وتكتب اذا كنت تعمل على سیرفیر محلى

علیھ ولیس سیرفیر على الشبكھ الدولیھ والمقصود بھ الجھاز الذى تعمل

: SqlCommandالتعامل مع قاعدة البیانات من خالل االوامر وذلك باستخدام كائن الفصیل

ان انوع التعامل مع قاعدة البیانات كثیره جدا لكن كلھا تندرج تحت صیغة اعطاء امرا ما یمرر لقاعدة

البیانات برمجیا عن طریق فصیل ھو المسئول عن تمریر االوامر لقاعدة البیانات واسترجاع النتائج

ة مراحل وھى كالتالى المطلوبھ والتعامل مع ھذا الفصیل لجعلھ ینفذ االوامر بشكل صحیح یكون على عد

ومن الممكن كتابى تعریفة االتصال كبارامتر

لدالة االتصال على ان توضع فى شكل نصى

Page 2: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ
Page 3: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

: Poolingمفھوم

ومعناه تحدید عدد المتصلین بجھة اتصال واحده فى نفس الوقت وكیفیة عمل ذلك داخل البرمجھ

Page 4: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

:داخل برمجة قواعد البیانات Data Readerقراءة البیانات والتعامل مع

مع قاعدة البیانات بھدف قراءة المحتویات او استرجاع البیانات المطلوبھ وال Data Readerویتعامل كائن

تقوم بانشاء كائن جدید منھ عند التعامل ھو فقط یحتاج الى تعریف متغیر وینفذ بواسطة كائن

sqlcommand ولنرى المثال التالى:

النقطھ الثانیھ عندما نرید قراءة بیانات عمود واحد او حقل واحد من البیانات فاننا نستخدم اداتى

List Box – Combo Box

وبنفس الكود مع اختالف وسیلة عرض Authorsولو استخدمنا المثال السابق فى قراءة حقل واحد من جدول

البیانات فانھ غالبا ما یتم استخدام الحلقات فى ذلك

Page 5: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

باالضافھ SQLالنقطھ الثالثھ وھى عملیة ادخال بیانات الى الجدول والتى تكون مختلفھ فقط فى جملة

لنرى مثال و ExcuteNonQueryاعطاء االمر بعدم استرجاع البیانات وانما ادخالھا فقط وھو

Page 6: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

وبنفس تنسیق SQLواالمر یكون مختلف فقط عن السابق فى جملة Updateاستخدام امر التحدیث او

االوامر السابق لكن یجب التحدیث على اساس قیمھ ال تتكرر فى جمیع سجالت الجدول فمثال نختار

التحدیث على اساس حقل المفتاح االساسى وھذا ھو االضمن ولنرى المثال

داخل قاعدة البیانات واالختالف ایضا عن امر التحدیث ھو فى جملة Deleteاستخدام امر الحذف

SQL ویجب ان یكون الحذف بمعلومیة حقل ال یتكرر على مستوى الجدول ولیكن المفتاح االساسى

:المثال

Page 7: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

ویستخدم فى حالة تنفیذ عدد من العملیات المتتابعھ بفرض انھ یجب Transactionنصل االن الى موضوع ھام وھو

تنفیذھا جمیعا واذا فشلت احداھما ال تنفذ التى تلیھا وھكذا وعادة ما تكون تلك العملیات مرتبطھ مع بعضھا بحیث تقوم

فھ من الجدول او بتنفیذ وظیفھ واحده لكن على مراحل كاالستعالم عن سجل داخل جدول باحد حقولھ استعدادا لحذ

:تحدیثھ مثال ولنرى مثال

Page 8: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

: Connected Modeوما الفرق بینھ وبین Disconnected Modeمفھوم

كل ماسبق برمجتھ كان فى اطار االتصال المباشر مع قاعدة البیانات اى ان جمیع العملیات السابقھ تنفذ مع استمرار

لكن الوضع الثانى ھو كیفیة استدعاء البیانات فى وضع عدم Connected Modeاالتصال بقاعدة البیانات ویسمى

Disconnected Modeاالتصال او

استخدام الوضع االول فى حالة العمل على جھاز محلى بقاعدة بیانات واحده تتاح لمستخدم واحد فیفضل ھنا االتصال

المستمر بقاعدة البیانات

لكن الوضع الثانى یفضل فى حالة وجود شبكة بیانات تتاح الكثر من مستخدم الدخال البیانات والخالصھ انك تقوم

بكتابة او تعدیل او حذف ما تریده بیحث یسجل كل ھذا فى جدول وھمى ثم بعد ان تتأكد من كل تلك التعدیالت تقوم

بفتح قاعدة البیانات لتطبق فیھا كل ما تم تغییره

واالخیر ھو عباره عن جدول وھمى Datasetو Data Adapterنوع الثانى یتعامل مع عنصریین اساسین ھما فال

الذى یتم التعامل معھ بعیدا عن قاعدة البیانات او یمثل صوره كاملھ منھا

فى تبادل المعلومات Datasetان یقوم بدور الوسیط بین قاعدة البیانات و Data Adapterوظیفة

:المثال التالى ولنرى

:وعندما ترى تنفیذ البرنامج فیصبح بھذا الشكل

Page 9: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

ھذه ھى النتیجھ بعد االتصال بقاعدة البیانات

یمثل عبىء كبیر فى كتابة الكود لكن یجب العمل بھ اذا كان قاعدة البیانات على Disconnectedان استخدام اسلوب

س الوقتشبكھ تتعامل مع اكثر من مستخدم فى نف

Page 10: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

:فى االستعالمات داخل قاعدة البیانات LINQاستخدام

باختالفات بسیطھ فى طریقة كتابة SQLوھى البدیل عن لغة االستعالمات 3لغة مبتكره فى الدوت نت االصداره

الكود لكن تقدم تسھیالت كبیره من ناحیة االتصال واالستعالم عن البیانات

:التقنیھ خطوات االستخدام لھذه

DataGrideابدء مشروعك الجدید وقم بوضع ما ترید من ادوات التعامل مع قواعد البیانات ولیكن – 1

تذھب الى نافذة المشروع وتقوم باضافة عنصر جدید وھو – 2

linqوتختار منھا الجدول المطلوب وتضعھ على صفحة Serverتقوم بفتح نافذة – 2

لتلك االداه بتكوید كل ما یلزم الستخدام االداه داخل قاعدة البیانات وداخل الجدول الذى تم تحدیده Designفیقوم ملف

SQLبدیال عن اوامر Query Expressionاستخدام -

وتستخدم ما یسمى بالمتغیرات مجھولة النوع اى التعرف ماھو نوع البیانات الذى یجب ان یستخدم

:ولنرى مثال Anonymous typeوتعرف بأسم

1 – Select by Linq

Page 11: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

ماذا لو اردنا اظھار حقول بعینھا دون االخرى ماذا یكون شكل جملة االستعالم

:اما اذا اردت وضع شرط لالستعالم فیكون كالتالى

:استخدام جمل الترتیب

Page 12: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

2 – Insert By Linq

Object Initialization Expression

لكل جدول من قاعدة البیانات Classالبد عند التعامل مع قواعد البیانات ان تقوم بعمل

تابع لقاعدة البیانات ووضع فیھ كافة الحقول Classفقد بنء بنفسھ LinqClassمن المالحظ انھ عند استخدام

فمن السھل جدا استدعاء تلك الخصائص والتى تمثل كافة حقول الجدول

Page 13: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

:طریقة تحدیث البیانات -

lambda Expressionوتعریف

تستخدم فى عملیة تسھیل الكتابھ بأنشاء تعبیر رمزى یعبر عن الجدول الذى تعمل علیھ ولنرى مثال

Page 14: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

الحذف باستخدام نفس التعبیر السابق

التعدیل ثم تاكید التعدیلوسیكون نفس الكود السابق لكن مع تغیر بسیط فى االمر وھو الحذف بدل تاكید

************************************************************************

************************************************************************

:وفیما تستخدم SQLننتقل االن الى التعریف بأھم اوامر -

Page 15: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

والترتیب االساسى ھو التصاعدىوممكن الترتیب بواسطة اكثر من حقل

Page 16: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

من الممكن اجتماع الشرط والترتیب فى جملھ واحده

الربط بین اكثر من جدولین

Page 17: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

Insert Statement

Update Statement

Delete statement

Page 18: ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو تﺎﻧﺎﯿﺒﻟا ﺪﻋاﻮﻗ ﻊﻣ ﻞﻣﺎﻌﺘﻟا ﺔﯿﻔﯿﻛ عﻮﻧ

Sofyany

ھذا الكتاب ضمن سلسلھ من الكتب التى یتم تحملیھا الى موقع الحاسب العربى

ایمیل السابق

[email protected]

الحالى

[email protected]