ADO · 2019. 2. 6. · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو...
Transcript of ADO · 2019. 2. 6. · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو...
ADO.NET
: ado.netكیفیة التعامل مع قواعد البیانات وذلك بأستخدام مكتبیات
اولا تجھیز اداة الاتصال بقاعدة البیانات وھى عباره عن جملھ نصیھ تكتب على حسب نوع
.قاعدة البیانات المستخدمھ اذا كانت اكسیس او اوراكل او سیكول سیرفیر
النوع الاول من جملة الاتصال بقاعدة البیانات وتكتب اذا كنت تعمل على سیرفیر محلى
علیھ ولیس سیرفیر على الشبكھ الدولیھ والمقصود بھ الجھاز الذى تعمل
: SqlCommandالتعامل مع قاعدة البیانات من خلال الاوامر وذلك باستخدام كائن الفصیل
ان انوع التعامل مع قاعدة البیانات كثیره جدا لكن كلھا تندرج تحت صیغة اعطاء امرا ما یمرر لقاعدة
البیانات برمجیا عن طریق فصیل ھو المسئول عن تمریر الاوامر لقاعدة البیانات واسترجاع النتائج
ة مراحل وھى كالتالى المطلوبھ والتعامل مع ھذا الفصیل لجعلھ ینفذ الاوامر بشكل صحیح یكون على عد
ومن الممكن كتابى تعریفة الاتصال كبارامتر
لدالة الاتصال على ان توضع فى شكل نصى
: Poolingمفھوم
ومعناه تحدید عدد المتصلین بجھة اتصال واحده فى نفس الوقت وكیفیة عمل ذلك داخل البرمجھ
:داخل برمجة قواعد البیانات Data Readerقراءة البیانات والتعامل مع
مع قاعدة البیانات بھدف قراءة المحتویات او استرجاع البیانات المطلوبھ ولا Data Readerویتعامل كائن
تقوم بانشاء كائن جدید منھ عند التعامل ھو فقط یحتاج الى تعریف متغیر وینفذ بواسطة كائن
sqlcommand ولنرى المثال التالى:
النقطھ الثانیھ عندما نرید قراءة بیانات عمود واحد او حقل واحد من البیانات فاننا نستخدم اداتى
List Box – Combo Box
وبنفس الكود مع اختلاف وسیلة عرض Authorsولو استخدمنا المثال السابق فى قراءة حقل واحد من جدول
البیانات فانھ غالبا ما یتم استخدام الحلقات فى ذلك
بالاضافھ SQLالنقطھ الثالثھ وھى عملیة ادخال بیانات الى الجدول والتى تكون مختلفھ فقط فى جملة
لنرى مثال و ExcuteNonQueryاعطاء الامر بعدم استرجاع البیانات وانما ادخالھا فقط وھو
وبنفس تنسیق SQLوالامر یكون مختلف فقط عن السابق فى جملة Updateاستخدام امر التحدیث او
الاوامر السابق لكن یجب التحدیث على اساس قیمھ لا تتكرر فى جمیع سجلات الجدول فمثلا نختار
التحدیث على اساس حقل المفتاح الاساسى وھذا ھو الاضمن ولنرى المثال
داخل قاعدة البیانات والاختلاف ایضا عن امر التحدیث ھو فى جملة Deleteاستخدام امر الحذف
SQL ویجب ان یكون الحذف بمعلومیة حقل لا یتكرر على مستوى الجدول ولیكن المفتاح الاساسى
:المثال
ویستخدم فى حالة تنفیذ عدد من العملیات المتتابعھ بفرض انھ یجب Transactionنصل الان الى موضوع ھام وھو
تنفیذھا جمیعا واذا فشلت احداھما لا تنفذ التى تلیھا وھكذا وعادة ما تكون تلك العملیات مرتبطھ مع بعضھا بحیث تقوم
فھ من الجدول او بتنفیذ وظیفھ واحده لكن على مراحل كالاستعلام عن سجل داخل جدول باحد حقولھ استعدادا لحذ
:تحدیثھ مثلا ولنرى مثال
: Connected Modeوما الفرق بینھ وبین Disconnected Modeمفھوم
كل ماسبق برمجتھ كان فى اطار الاتصال المباشر مع قاعدة البیانات اى ان جمیع العملیات السابقھ تنفذ مع استمرار
لكن الوضع الثانى ھو كیفیة استدعاء البیانات فى وضع عدم Connected Modeالاتصال بقاعدة البیانات ویسمى
Disconnected Modeالاتصال او
استخدام الوضع الاول فى حالة العمل على جھاز محلى بقاعدة بیانات واحده تتاح لمستخدم واحد فیفضل ھنا الاتصال
المستمر بقاعدة البیانات
لكن الوضع الثانى یفضل فى حالة وجود شبكة بیانات تتاح لاكثر من مستخدم لادخال البیانات والخلاصھ انك تقوم
بكتابة او تعدیل او حذف ما تریده بیحث یسجل كل ھذا فى جدول وھمى ثم بعد ان تتأكد من كل تلك التعدیلات تقوم
بفتح قاعدة البیانات لتطبق فیھا كل ما تم تغییره
والاخیر ھو عباره عن جدول وھمى Datasetو Data Adapterنوع الثانى یتعامل مع عنصریین اساسین ھما فال
الذى یتم التعامل معھ بعیدا عن قاعدة البیانات او یمثل صوره كاملھ منھا
فى تبادل المعلومات Datasetان یقوم بدور الوسیط بین قاعدة البیانات و Data Adapterوظیفة
:المثال التالى ولنرى
:وعندما ترى تنفیذ البرنامج فیصبح بھذا الشكل
ھذه ھى النتیجھ بعد الاتصال بقاعدة البیانات
یمثل عبىء كبیر فى كتابة الكود لكن یجب العمل بھ اذا كان قاعدة البیانات على Disconnectedان استخدام اسلوب
س الوقتشبكھ تتعامل مع اكثر من مستخدم فى نف
:فى الاستعلامات داخل قاعدة البیانات LINQاستخدام
باختلافات بسیطھ فى طریقة كتابة SQLوھى البدیل عن لغة الاستعلامات 3لغة مبتكره فى الدوت نت الاصداره
الكود لكن تقدم تسھیلات كبیره من ناحیة الاتصال والاستعلام عن البیانات
:التقنیھ خطوات الاستخدام لھذه
DataGrideابدء مشروعك الجدید وقم بوضع ما ترید من ادوات التعامل مع قواعد البیانات ولیكن – 1
تذھب الى نافذة المشروع وتقوم باضافة عنصر جدید وھو – 2
linqوتختار منھا الجدول المطلوب وتضعھ على صفحة Serverتقوم بفتح نافذة – 2
لتلك الاداه بتكوید كل ما یلزم لاستخدام الاداه داخل قاعدة البیانات وداخل الجدول الذى تم تحدیده Designفیقوم ملف
SQLبدیلا عن اوامر Query Expressionاستخدام -
وتستخدم ما یسمى بالمتغیرات مجھولة النوع اى لاتعرف ماھو نوع البیانات الذى یجب ان یستخدم
:ولنرى مثال Anonymous typeوتعرف بأسم
1 – Select by Linq
ماذا لو اردنا اظھار حقول بعینھا دون الاخرى ماذا یكون شكل جملة الاستعلام
:اما اذا اردت وضع شرط للاستعلام فیكون كالتالى
:استخدام جمل الترتیب
2 – Insert By Linq
Object Initialization Expression
لكل جدول من قاعدة البیانات Classلابد عند التعامل مع قواعد البیانات ان تقوم بعمل
تابع لقاعدة البیانات ووضع فیھ كافة الحقول Classفقد بنء بنفسھ LinqClassمن الملاحظ انھ عند استخدام
فمن السھل جدا استدعاء تلك الخصائص والتى تمثل كافة حقول الجدول
:طریقة تحدیث البیانات -
lambda Expressionوتعریف
تستخدم فى عملیة تسھیل الكتابھ بأنشاء تعبیر رمزى یعبر عن الجدول الذى تعمل علیھ ولنرى مثال
الحذف باستخدام نفس التعبیر السابق
التعدیل ثم تاكید التعدیلوسیكون نفس الكود السابق لكن مع تغیر بسیط فى الامر وھو الحذف بدل تاكید
************************************************************************
************************************************************************
:وفیما تستخدم SQLننتقل الان الى التعریف بأھم اوامر -
والترتیب الاساسى ھو التصاعدىوممكن الترتیب بواسطة اكثر من حقل
من الممكن اجتماع الشرط والترتیب فى جملھ واحده
الربط بین اكثر من جدولین
Insert Statement
Update Statement
Delete statement
Sofyany
ھذا الكتاب ضمن سلسلھ من الكتب التى یتم تحملیھا الى موقع الحاسب العربى
ایمیل السابق
الحالى