6 ado.net

25
Advanced C# Course 6- ADO.NET

Transcript of 6 ado.net

Page 1: 6 ado.net

Advanced C# Course

6- ADO.NET

Page 2: 6 ado.net

04/13/2023 11:49 PM 2

Outlines مقدمةتاريخماهيADO.NET؟ المتصل وغير المتصل الولوج. في البيانات NETمزودات أصناف ADO.NETأهم العمل سيناريو المزو1د Providerكائنات المستهلك كائنات

Page 3: 6 ado.net

04/13/2023 11:49 PM 3

مقدمة المعطيات في قواعد العناصر أهم معظم أحد

المعلوماتية النظم هو قلب برمجي عمل البيانات.أيADO.NET . للبيانات للوصول جديدة طريقةProviders : لنا تؤمن التي الصفوف من مجموعة هو

لنا وترد االستعالمات وتنفيذ المعطيات بقاعدة االتصالالنتيجة.

Page 4: 6 ado.net

04/13/2023 11:49 PM 4

تاريخ عن مختصرة لمحةالبيانات إلى الوصول

لكل أن في كانت O سابقا التوابع DBMSالمشكلة من الخاصة مكتباته: O واجهة Oracleمثال واجهة IBM DB2و OCIتستخدم Sybaseيستخدم

SQL Server. التطبيق كتابة إعادة عليها فأن البيانات قاعدة نظام تغيير الشركة أرادت إذا

! البداية من بواسطة السابقة المشكلة حل معه ODBCتم التعامل صعوبة مشكلته لكن

على يعتمد .COMكونه

Page 5: 6 ado.net

04/13/2023 11:49 PM 5

قاعدة إلى المتصل وغير المتصل الولوجالمعطيات

المتصل الولوج في متبعة كانت قديمة ( .ADO.NETقبل ) ADOطريقة هذا ويبقى المعطيات قاعدة مخدم مع اتصال فتح يتم

استهالك , إلى يؤدي مما العمل فترى طيلة O مفتوحا اإلتصالاتصاالت , بمعالجة O مشغوال المخدم يكون وقد للموارد عالي

أخرى .

Page 6: 6 ado.net

04/13/2023 11:49 PM 6

قاعدة إلى المتصل وغير المتصل الولوجالمعطيات

متصل الغير الولوج فيADO.NET , استعالم لطلب المعطيات قاعدة مخدم مع تصال إ بفتح نقوم

الذاكرة في المعطيات بتخزين نقوم ثم dسمى RAMمعين ت معطيات بنية فيData set.

باستخدام موظف سجل تعديل أردت العملية ADO.NETإذا ستتميلي : كما

المعطيات ADO.NETيؤسس 1. قاعدة مع O اتصاال

على 2. dصبح لت المعطيات قاعدة من معها العمل تريد التي البيانات استخراج سيتم– المحلي الجهاز ال ذاكرة في RAMفي O -DataSetوتحديدا

نرغبها 3. التي للفترة البيانات هذه معالجة يمكننا نحجز اآلن أن دون�لتخزين اتصاًال جاهزين نكون الم"عد!لة وعندما مع نتصلالبيانات

. التعديالت إلجراء الوقت من قصيرة لفترة المعطيات قاعدة مخدم

Page 7: 6 ado.net

04/13/2023 11:49 PM 7

؟ADO.NETماهي ADO.NET:. مع المdدمجة األصناف من مجموعة والتي NET Frameworkهو

التي اللغات خالل من البيانات إلى الوصول من ت"مّك!نناNET FrameWorkيدعمها .

أصناف المdجمعة ADO.NETتوجد System.Data.dllضمن

ل الرئيسي العالئقية . ADO.NETالهدف للبيانات بسيط وصول توفير هوتمثل سهلة أصناف خالل من ذلك في الحقولواألعمدة و الجداولويتم

العالئقية . البيانات قواعد

يقدمADO.NET الصنفDataset: عن عبارة DataBaseوهوالذاكرة مع) ضمن الذاكرة نسخة تعديل يتم ريثما للعمل مؤقتة محطة

) قاعدة نسخة

Page 8: 6 ado.net

04/13/2023 11:49 PM 8

في البيانات NET.مزودات البيانات مجردة هو : Providerمزود بين وسيطةأو طبقة

المعطيات التطبيق قواعد إدارة نظام .DBMSو

DB التطبيقProvider: التوابع من مجموعة يحوي

المعطيات إلى بالوصول الخاصةفي DataBaseالموجودة

Page 9: 6 ado.net

04/13/2023 11:49 PM 9

في البيانات NET.مزودات لكائنات رئيسيان قسمان مزود و DataSetالكائن: ADO.NETهناك

NET.بيانات

البيانات مزود تسمح Providerيتألف التي الخاصة البيانات مكونات من عدد منكالتالي : وهي حده على O كال البيانات مصادر مع وبالتواصل للبيانات بالوصول لنا

البيانات- 1 بيانات :OLEDBمزود قواعد مع ضمن Accessويستخدم موجودةاألسماء .System.Data.OleDbفضاء

بيانات- 2 بيانات :SqlClientمزود قواعد مع موجودة SQL Serverيستخدماألسماء فضاء .System.Data.SqlClientضمن

بيانات- 3 يمكن ) عاممزود :ODBCمزود المعطيات قواعد أنظمة لجميعمعطيات قاعدة مع لالتصال األسماء( Oracleاستخدامه فضاء ضمن موجودة O مثال

System.Data.Odbc.

Page 10: 6 ado.net

04/13/2023 11:49 PM 10

أصناف ADO.NETأهم: قسمين إلى تنقسم

البيانات مزود :Providerكائنات كالتالي وهي . المستهلك NET Consumer Objectكائنات

ϝΎλ ΗϻϥΎϛ Connection

έϣϷϥΎϛ Command

έϣϭϷΊηϧ˵ϣCommandBuilder

ΕΎϧΎϳΑϟΉέΎϗDataReader

ΕΎϧΎϳΑϟϑ ϳϛ˵ϣDataAdapter

Page 11: 6 ado.net

04/13/2023 11:49 PM 11

العمل سيناريو O وفقا والكتابة القراءة عملية مع التعامل يكون

التالي : للسيناريوالكائن 1. خالل من البيانات مصدر مع اتصال Connectionفتحضمن 2. ووضعها البيانات مصدر من البيانات .DataSetنقلالمستهلك )3. كائنات خالل من ومعالجتها البيانات ( .DataSetقراءةالبيانات 4. مصدر إلى الذاكرة في البيانات على طرأت التي التحديثات نقل

كائنات خالل .المزو!دمن

( البيانات مصدر مع مباشر اتصال إلى تحتاج ال الثالثة بينما( DBالخطوة( البيانات مصدر مع اتصال إلى تحتاج الرابعة ( .DBالخطوة

Page 12: 6 ado.net

04/13/2023 11:49 PM 12

المزو1د Providerكائنات مزودات من مزود كل في فة مdعر1 الكائنات كالتالي :NET.هذه وهي

اًالتصال Connectionكائن على أو المحلي الجهاز على كانت سواء معطيات بقاعدة االتصال لنا يؤمن

على مخدمسر وكلمة المعطيات قاعدة واسم المخدم اسم إلى نحتاج قد لذلك الشبكة

المعطيات . قاعدة مدير مستخدم األمر داخل Query SQLيمثل :Commandكائن تنفيذه يتم والذي

DBMS األوامر م"نشئ CommandBuilderكائن البيانات قارئ حيث ألبسطا: DataReaderكائن و اًالستخداممن

حيث األسرع فقط من أمامي وبشّكل البيانات لقراءة الوصولForword-Only. البيانات مصدر من

البيانات م"ّكيف عمليات : DataAdapterكائن لتأدية الكائن هذا يستخدممحددة البيانات عديدة لمصدر البيانات. وموجهة مجموعة وتحديث ملئ مثل

DataSet.

Page 13: 6 ado.net

04/13/2023 11:49 PM 13

المستهلك Consumer Objectكائنات: وهي المزودات جميع مع تتعامل الكائنات هذه

البيانات مجموعة :DataSetكائن

, من مجموعة الذاكرة في معطيات قاعدة ببعضها االجداول يمثل لمرتبطة.البعض التطبيق في واحدة كوحدة إليها dشار ي والتي

في اًالتصال يعمل عدم نمط

الجدول . DataTableكائن

العمود .DataColumnكائن

السطر .DataRowكائن

العالقة .DataRelationكائن

Page 14: 6 ado.net

04/13/2023 11:49 PM 14

المعطيات قاعدة مع الربط ومشهورة معروفة معطيات قاعدة األمثلة جميع في سنستخدم

(NorthWind).

Page 15: 6 ado.net

04/13/2023 11:49 PM 15

وقراءة المعطيات قاعدة ضمن جدول إلى الوصولالبيانات قارئ باستخدام محتوياته

ID Name Age

13156131511

Hammood 22

5161251251

Nizar 23

5612456135

Motaz 23

9808112951

Saeed 23

Page 16: 6 ado.net

04/13/2023 11:49 PM 16

تحديث وتحديث Data setملئ

DataSetIn RAM DBDataAdapter

Adapter.Fill(ds,”Customers”) 2 -Query

Result

Adapter.Update(ds,”Customers”)

1 -SqL Query

Find Updated Rows

Reflect Changes

Page 17: 6 ado.net

04/13/2023 11:49 PM 17

جديدة سجالت وحذف إضافة

Page 18: 6 ado.net

04/13/2023 11:49 PM 18

عبرالكائن جداول عدة إلى DataSetالوصول

Page 19: 6 ado.net

04/13/2023 11:49 PM 19

ADO.NETفي XMLدعم

ID Name Age

13156131511

Hammood

22

5161251251

Nizar 23

5612456135

Motaz 23

9808112951

Saeed 23

Person Table

Page 20: 6 ado.net

04/13/2023 11:49 PM 20

القيود مع Constraintالتعامل : التّكامل الشروط شروط من مجموعة هي

أجل من الجدول ضمن بتعريفها نقوم التيللمعلومات نطامية صيغة على .الحفاظ

Unique ,Primary Key ,Foreign Key ,Allow Null .

الخاصيةEnforceConstraints.

Page 21: 6 ado.net

04/13/2023 11:49 PM 21

المناقالت مع Transactionsالتعامل: تحقق المناقلة والتي البرمجية التعليمات من مجموعة هي

:ACIDالخاصية Atomicity

عبارة هي التعليمات واحدة مجموعة كتلة أن عن كاملة فإما تنفيذها تنفيذ) يتم ) أن أو التعليمات التعليمات جميع هذه من �أيا تنفيذ يتم .ًال

Coherence

تبقى المعطيات بين المنطقية .دًاللتهاالعالقات فشلها أو المناقلة نجاح بعد صحيحة

Isolation التوازي على تتم أخرى مناقلة بنتيجة المناقلة نتيجة تتعلق الDurability

انتهائها بعد تتغير أن يمكن ال المناقلة .نتيجة

Page 22: 6 ado.net

04/13/2023 11:49 PM 22

المخزنة Stored Proceduresاإلجراءات خزنdالم ضمن: اإلجراء تخزينه يتم الشيفرة من قسم هو

جانب في تعمل أي نفسها المعطيات .المخد!مقاعدة للقيام مخزن اإلجراء باستدعاء يقوم أن شخص ألي يمكن

معين جدول ضمن سجل تعديل أو حذف أو إضافة بعملية. O مثال

استعالمات تنفذ من فاعلية أكثر المخزنة اإلجراءات تنفيذSqL.

. عادي إجراء أي يعامل كما يعامل

Page 23: 6 ado.net

04/13/2023 11:49 PM 23

البيانات قاعدة في مdخزن إجراء كتابة منتج قيم إضافة dمثل ت متحوالت ويأخذ المنتجات جدول إلى

األعمدة يتم كبارمتراتجميع ألنه المنتج رقم توليده ماعدا�.Auto Generated )تلقائيا المنتج( رقم ويرد

Page 24: 6 ado.net

04/13/2023 11:49 PM 24

Triggerالقادح ؟ القادح هو ما التعليمات من التي الم"خزنةمجموعة المعطيات قاعدة في � ي"نفذهاداخل إدارة آليا نظام

المعطيات )حدث حدوثعند DBMSقواعد على,…( insert,update,deleteمعين .جدول المعطيات قاعدة ضمن معين

؟ القادح تنفيذ يتم متى القادح تنفيذ عن أو After بعدأو Beforeقبل ""Firingيتم �حدث Instead of عوضا

عمليات) معين هي القادح ( DDLأو DMLأحداث

؟ القادح يستخدم لماذانريد - كنا حال في كبيرة أهمية ذو القادح أي مراقبةيكون أو عمليات على تغييراتأي تتم

بعمليات جدول والقيام �أو بعدأو قبلمعين .الحدثهذا عوضا

Page 25: 6 ado.net

04/13/2023 11:49 PM 25