للتحميل
مجانا، كتاب:
من الصفر إلى الاحتراف: ADO.NET
لمبرمجي سي شارب 2010
بقلم:
م. محمد حمدي غانم
مقدمة:
بسم
الله، والحمد لله، والصلاة والسلام على رسول الله، وبعد:
يعلمك
الكتاب كيف تتعامل مع قواعد البيانات من داخل مشاريع سي شارب باستخدام تقنية ADO.NET، لتستطيع الاتصال بقاعدة البيانات، وطلب السجلات منها، وكيف تقوم
بحفظها مرة أخرى في قاعدة البيانات إذا دخلت عليها أية تعديلات.
ويعلمك
الكتاب أيضا كيف تعرض البيانات للمستخدم من خلال تقنية الربط Binding، ويشرح بالتفصيل أهم الأدوات المخصصة لهذا الغرض، مثل موجه الربط BindingNavigator ومصدر الربط BindingSource.
***
ويشرح
الكتاب بالتفصيل أكثر من 50 مشروعا متنوعا تغطي محتوياته، لتتعلم من خلالها:
-
كيف
تحصل على البيانات من قواعد البيانات بمختلف الطرق، سواء باستخدام قارئ البيانات DataReader أو مهيئ البيانات DataAdapter أو مهيئ الجدول TableAdapter.
- كيف تحتفظ بالبيانات في الذاكرة، باستخدام
مجموعة بيانات DataSet سواء كانت عادية أو محددة النوع Typed.
-
كيف
تنقل البيانات بين نوعين مختلفين من قواعد البيانات.
- كيف تحفظ البيانات الثنائية Binary Data في ملفات مستقلة على الخادم خارج قاعدة البيانات في SQL Server 2008.
- كيف تعرّف المعاملات Parameters والمعاملات الجدولية
Table-Valued Parameters، وكيف تستخدمها لتمرير البيانات إلى الإجراءات المخزنة في Sql Server 2008.
- كيف تحمي قاعدة البيانات من القراصنة الذين
يحاولون دس الاستعلامات
SQL Injection.
- كيف تقرأ البيانات الثنائية والنصية الضخمة
تتابعيا Sequentially على صورة أجزاء في SQL
Server 2008.
- كيف تنشئ الإجراءات المخزنة في Access.
- كيف تحفظ البيانات في ملف XML
وكيف تستعيدها منه مرة أخرى.
- كيف تستخدم مخطط XML
لإنشاء مجموعات بيانات خاصّة Custom
DataSet لا تعتمد على قاعدة
بيانات.
- كيف تتعامل مع علاقة واحد بمتعدد One-To-Many Relation، وعلاقة متعدد بمتعدد Many-To-Many Relation،
والعلاقة الذاتية Self Relation.
- كيف تستخدم مصانع المزودات Provider Factories لكتابة فئات عامة قادرة على التعامل مع أي نوع من قواعد البيانات،
ما يختصر الكود الذي تكتبه، ويمهد لك الطريق لإنشاء مشاريع متعددة الطبقات N-Tier Applications.
- كيف تحل مشاكل تصارع أكثر من مستخدم على حفظ
البيانات في نفس اللحظة باستخدام التطابق المتفائل Optimistic Concurrency.
- كيف تعرض البيانات في اللافتات ومربعات النص
والقوائم والجداول، وكيف تربط كل هذه العناصر معا.
وغير
هذا الكثير.
***
ويغطي
هذا الكتاب بالتفصيل حوالي 135 واجهة وفئة وسجلا من مكتبة إطار العمل، مخصصة
للتعامل مع تطبيقات قواعد البيانات، شارحا خصائص ووسائل وأحداث هذه المكونات
بالتفصيل.. لهذا يعتبر الكتاب مرجعا مفصلا مبوبا، يمكن لقارئه الرجوع إليه عند
البحث عن تفاصيل أي فئة أو خاصية أو وسيلة أو حدث، في نفس الوقت الذي يجعله صالحا
للقراءة ككتاب تعليمي عملي مرتب من الأسهل إلى الأصعب، ينقل إلى المبرمج في صفحات
معدودات خبرة سنوات في برمجة تطبيقات قواعد البيانات، ويرشده إلى كيفية حل
المشكلات غير المتوقعة التي تواجهه في هذا المجال، وكيف يحسن أداء برنامجه بتوفير
أكبر قدر من الذاكرة، وكيف يحافظ على كفاءة خادم البيانات، بتقليل عدد الاتصالات
ووقت كل اتصال بقدر الإمكان.
باختصار:
هذا هو الكتاب الذي تبحث عنه.
والله ولي
التوفيق
لمن هذا الكتاب:
رغم
أن هذا الكتاب يفترض أن قارئه لا يمتلك أية معرفة مسبقة بقواعد البيانات والبرامج
التي ينشئها بها، فإنه على الجانب الآخر، يشترط في قارئه أن يكون على دراية بلغة
سي شارب C#، وأن يجيد المتطلبات التالية:
-
أساسيات
كتابة الكود بلغة سي شارب، كتعريف المتغيرات وكتابة جمل الشرط وحلقات التكرار Loops، وكتابة واستدعاء الدوال Functions.
-
أساسيات
ومفاهيم البرمجة الموجهة بالكائنات OOP، كالفئات Classes والواجهات Interfaces والوراثة Inheritance.
- أساسيات التعامل مع إطار العمل، وفئاته
الرئيسية، خاصة المجموعات Collections والملفات Files وفئات معلومات الثقافة CultureInfo.
- أساسيات التعامل مع مشاريع الويندوز، والأدوات
المختلفة كمربع النص TextBox ومربع الاختيار CheckBox والقوائم Lists.
فإذا
لم تكن تجيد هذه الأساسيات، فننصح بقراءة القسم الأول من كتابنا "المدخل العملي
السريع إلى سي شارب"، فهو يغطي هذه المواضيع باختصار من خلال إنشاء مشروع
عملي كامل مشروح بالتفصيل.. أما النصف الثاني من الكتاب، فيشرح مشروع قواعد بيانات
كاملا مكتوبا بتقنية LinQ To SQL وهي غير مشروحة في الكتاب الذي تقرؤه الآن.. وهذا معناه أن كتاب
المدخل العملي مكمل لهذا المرجع، فهو من جهة يشرح مشروع قواعد بيانات واحدا كبيرا
بينما يستعين المرجع الذي بين يديك بعشرات المشاريع الصغيرة لشرح محتواه، كما أن
هذا المرجع يشرح تقنية ADO.NET بينما يعطيك كتاب المدخل العملي فكرة جيدة عن استخدام النموذج
التصوري Conceptual Model باستخدام تقنية LinQ
To SQL.
محتويات
الكتاب
• مقدمة
|
14
|
• لمن
هذا الكتاب
|
16
|
ملحوظة:
تم نشر الفصول الأربعة الأولى في كتاب مستقل
بعنوان:
إنشاء قواعد البيانات وكتابة
استعلامات SQL
|
-5-
تقنية ADO.NET
الخادم
Server والعميل Client
|
19
|
تقنية
ADO.NET
|
|
لغة
XML
|
|
مزودات
قواعد البيانات Database
Providers
|
-6-
كائن الاتصال Connection Object
نص
الاتصال Connection String
|
29
|
فئة باني نص الاتصال DbConnectionStringBuilder Class
|
|
فئة باني نص اتصال سيكيول SqlConnectionStringBuilder Class
|
|
حفظ
نص الاتصال في إعدادات البرنامج Settings
|
|
فئة مقطع نصوص الاتصال ConnectionStringsSection Class
|
|
فئة إعدادات نص الاتصال ConnectionStringSettings Class
|
|
واجهة الاتصال بقواعد البيانات IDbConnection Interface
|
|
فئة الاتصال DbConnection Class
|
|
فئة اتصال سيكيول SqlConnection Class
|
|
فئة خطأ سيكيول SqlError Class
|
-7-
كائن الأمر
Command Object
واجهة أمر قاعدة البيانات IDbCommand Interface
|
68
|
فئة أمر قاعدة البيانات DbCommand Class
|
|
فئة أمر سيكويل SqlCommand Class
|
|
تمرير
القيم إلى جمل الاستعلام
|
|
دس
الاستعلامات SQL Injection
|
|
المعاملات
Parameters
|
|
فئة مجموعة معاملات قاعدة البيانات DbParameterCollection
|
|
فئة مجموعة معاملات سيكويل SqlParameterCollection Class
|
|
واجهة معامل البيانات IDataParameter Interface
|
|
واجهة معامل بيانات قاعدة البيانات IDbDataParameter Interface
|
|
فئة معامل قاعدة البيانات DbParameter Class
|
|
فئة معامل سيكويل SqlParameter Class
|
-8-
قارئ البيانات DataReader
واجهة سجل البيانات IDataRecord
Interface
|
105
|
فئة سجل البيانات DbDataRecord Class
|
|
واجهة قارئ البيانات IDataReader Interface
|
|
فئة قارئ البيانات DbDataReader Class
|
|
فئة قارئ بيانات سيكويل SqlDataReader Class
|
-9-
مهيئ البيانات DataAdapter
واجهة مهيئ البيانات IDataAdapter Interface
|
119
|
واجهة مهيئ بيانات قاعدة البيانات IDbDataAdapter Interface
|
|
فئة مهيئ البيانات DataAdapter Class
|
|
فئة مهيئ بيانات قاعدة البيانات DbDataAdapter Class
|
|
فئة مهيئ بيانات سيكويل SqlDataAdapter Class
|
|
التصارع
على تحديث البيانات
|
|
معالج إعداد مهيئ البيانات Data Adapter Configuration Wizard
|
|
فئة باني أوامر قاعدة البيانات DbCommandBuilder Class
|
|
فئة باني أوامر سيكويل SqlCommandBuilder Class
|
|
واجهة مجموعة خرائط الجداول ITableMappingCollection
|
|
فئة مجموعة خرائط الجداول DataTableMappingCollection Class
|
|
واجهة خريطة الجدول ITableMapping Interface
|
|
فئة خريطة الجدول DataTableMapping Class
|
|
واجهة مجموعة خرائط العمود IColumnMappingCollection
|
|
فئة مجموعة خرائط العمود DataColumnMappingCollection
|
|
واجهة خريطة العمود IColumnMapping Interface
|
|
فئة خريطة العمود DataColumnMapping Class
|
-10-
مصانع المزودات Provider Factories
فئة مصانع المزودات DbProviderFactories Class
|
187
|
فئة مصنع المزود DbProviderFactory Class
|
|
الطبقات
المتعددة N-Tiers
|
|
فئة عداد مصادر البيانات DbDataSourceEnumerator Class
|
|
فئة عداد مصادر بيانات سيكويل سيرفر SqlDataSourceEnumerator
|
-11-
مجموعة البيانات DataSet
فئة مجموعة البيانات DataSet Class
|
202
|
المعالج السحري لإنشاء مجموعة البيانات Generate DataSet Wezard
|
|
إنشاء
مجموعات بيانات خاصّة Custom
DataSet
|
|
حفظ
بيانات الشجرة في مجموعة البيانات
|
|
فئة مهيئ الجدول TableAdapter Class
|
|
فئة مدير مهيئات الجداول TableAdapterManager
|
-12-
الجداول والعلاقات والقيود
فئة أساس مجموعة البيانات الداخلية InternalDataCollectionBase Class
|
264
|
فئة مجموعة الجداول DataTableCollection Class
|
|
فئة جدول البيانات DataTable Class
|
|
فئة مجموعة الصفوف DataRowCollection Class
|
|
فئة صفّ البيانات DataRow Class
|
|
فئة مجموعة الأعمدة DataColumnCollection Class
|
|
فئة عمود البيانات DataColumn Class
|
|
فئة قارئ جدول البيانات DataTableReader Class
|
|
فئة مجموعة العلاقات DataRelationCollection Class
|
|
فئة العلاقة DataRelation Class
|
|
فئة مجموعة القيود ConstraintCollection Class
|
|
فئة القيد Constraint Class
|
|
فئة قيد التفرّد UniqueConstraint Class
|
|
فئة قيد المفتاح الثانوي ForeignKeyConstraint Class
|
-13-
عروض البيانات Data Views
واجهة قائمة الربط IBindingList Interface
|
336
|
واجهة القائمة محددة النوع ITypedList Interface
|
|
فئة مدير العرض DataViewManager Class
|
|
فئة إعدادات العرض DataViewSetting Class
|
|
واجهة ربط قائمة العرض IBindingListView Interface
|
|
فئة واصف ترتيب القائمة ListSortDescription Class
|
|
فئة عرض البيانات DataView Class
|
|
واجهة الكائن القابل للتحرير IEditableObject Interface
|
|
واجهة التنبيه بتغير خاصية INotifyPropertyChanged Interface
|
|
فئة عرض صف البيانات DataRowView Class
|
-14-
ربط البيانات Data Binding
واجهة المكون القابل للارتباط IBindableComponent Interfac
|
364
|
فئة مجموعة الارتباطات BindingsCollection Class
|
|
فئة مجموعة ارتباطات الأداة ControlBindingsCollection Class
|
|
فئة الارتباط Binding Class
|
|
سجل معلومات عنصر الربط BindingMemberInfo Structure
|
|
فئة محتوى الربط BindingContext Class
|
|
فئة أساس مدير الربط BindingManagerBase Class
|
|
فئة مدير الخاصية PropertyManager Class
|
|
فئة مدير التسلسل CurrencyManager Class
|
|
ربط
الأدوات في وقت التصميم
|
|
ربط
مربعات القوائم Binding List
Boxs
|
|
معالج تهيئة مصادر البيانات Data Source Configuration Wizard
|
|
متصفح
مصادر البيانات
|
|
واجهة مزود مدير التسلسل ICurrencyManagerProvider Interface
|
|
واجهة إلغاء إضافة الجديد ICancelAddNew Interface
|
|
واجهة إطلاق أحداث التغير IRaiseItemChangedEvents Interface
|
|
فئة قائمة الربط عامة النوع BindingList
|
|
واجهة مصدر القائمة IListSource Interface
|
|
فئة مصدر الربط BindingSource Class
|
|
فئة مساعد ربط القوائم ListBindingHelper Class
|
|
فئة موجه الربط BindingNavigator Class
|
ملحوظة:
تم نشر الفصول 15 و 16 و 17 والملحق 1 في كتاب
مستقل بعنوان:
جدول عرض البيانات DataGridView
|
ملحق 2
أنواع بيانات سيكويل المدارة
Managed
SQL Data Types
سجل القيمة المنطقية SqlBoolean Structure
|
437
|
سجل الوحدة الثنائية SqlByte Structure
|
|
سجل الأعداد العشرية SqlDecimal Structure
|
|
فئة الحروف SqlChars Class
|
|
سجل النص SqlString Structure
|
|
سجل البيانات الثنائية SqlBinary Structure
|
|
فئة الوحدات الثنائية SqlBytes Class
|
|
فئة "XML"
SqlXml Class
|
|
حفظ
الملفات خارج قاعدة البيانات
|
|
فئة مجرى بيانات سيكويل SqlFileStream Class
|
ملحق: 3
إعداد تطبيق قواعد البيانات على جهاز العميل
إعداد
تطبيق قواعد البيانات على جهاز العميل
|
472
|
ملاحظات
حول استخدام SQL Server Express
|
474
|
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.