ADO - IT Solutions · ADO.NET : ado.net تﺎﯿﺒﺘﻜﻣ ماﺪﺨﺘﺳﺄﺑ ﻚﻟذو...
Transcript of ADO - IT Solutions · 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
ھذا الكتاب ضمن سلسلھ من الكتب التى یتم تحملیھا الى موقع الحاسب العربى
ایمیل السابق
الحالى