أهم أقسام المدونة

الصفحات

الأربعاء، 7 نوفمبر 2018

للتحميل مجانا، كتاب ADO.NET

للتحميل مجانا، كتاب:
من الصفر إلى الاحتراف: 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 Class
 
 واجهة مصدر القائمة 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
 

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.