العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

إضافة رد

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 03-07-2010, 03:05 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس الواحد والستون ADO.net - دورة .net 2008

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

مقدمة :

ال ADO.net او ما تعرف اختصاراً باسم Active Data Object.net هي امتداد للنسخة القديمة ADO التي كانت موجودة في اصدارات فيجوال بيسك 6 من مايكروسوفت ، وهي امتداد ايضاً لعالم مزودات البيانات او Data Providers التي مرت بمراحل تطور عديدة وشهدت العديد من التقنيات مثل DAO, RDO .

وعلى عكس النسخة القديمة ADO التي كانت مخصصة لفتح اتصال بين قاعدة البيانات والبرنامج او بين الخادم والعميل Client/Server فإن ADO.net اصبحت مزودة بخدمة disconnected بحيث لن تصبح مضطراً للاتصال دائماً بقاعدة البيانات هناك فروقات أخرى هذا موجزها :

- الدعم الكامل ل XML .
- زيادة أنواع البيانات المعتمدة والدوال المستخدمة .
- زيادة السرعة .
- انها اصبحت managed code بالكامل .

يمكنك الاطلاع على مزيد من التفاصيل حول الفروقات هنا :
http://msdn.microsoft.com/en-us/libr...4k(VS.71).aspx

البدء باستخدام ADO.net :

فقط كل ما عليك هو استيراد المكتبات الخاصة بها ، تجدها جميعاً تحت اسم System.Data ، بعدها سيكون عليك تقرير فيما إذا كنت ترغب في العمل من خلال الوضع Connected أو Disconnected ، في حالة الأولى ستكون على اتصال دائم بقاعدة البيانات اما الحالة الثانية فستتصل على مراحل لتجلب البيانات او لتقوم ببعض التعديلات الجماعية ، في بداية دروسناً لن نتعامل سوى مع Connected فيما سنعود لاحقاً للوضع الآخر .

مكونات ADO.net Data Provider :
Connection : يمكنك من انشاء اتصالك بقاعدة البيانات .
Command : تمكنك من تنفيذ جملة استعلام SQL على قاعدة البيانات .
DataReader DbDataReader IDataReader : تمكنك من قراءة البيانات الناتجة عن عملية استعلام على سبيل المثال ، لكن الناتج سيكون للقراءة فقط وفي اتجاه واحد فقط .
DataAdapter DbDataAdapter IDataAdapter : تمكنك على الحصول على صورة من البيانات المطلوبة سواء جدول او جملة استعلام وتمكنك من التنقل بينها وعمل اضافة وتعديل وحذف وخلافه .
Parameter DbParameter IDataParameter: خاصة بتمرير متغيرات إلى جمل الاستعلام .

ال Data Providers المدعومة من قبل مايكروسوفت :
System.Data.OleDb :
يمكن استخدامها للتعامل مع اي نوع من قواعد البيانات ، لكن لو كان لقاعدة البيانات مزود آخر موجود في القائمة يفضل استخدامه نظراً لإن هذا النوع هو الأبطأ .
System.Data.SqlClient :
يفضل دوماً استخدامها للتعامل مع قواعد البيانات SQL Server حيث انها تحتوي على مجموعة من المهام الخاصة بالتعامل مع هذا النوع من قواعد البيانات .
System.Data.SqlServerCe :
يفضل استخدامها في حالة التعامل مع قاعدة بيانات SQL Server CE الخاصة بالتعامل مع ال Pocket PC .
System.Data.Odbc :
اي ملف Odbc يمكن التعامل معه من خلالها .
System.Data.OracleClient
يفضل التعامل مع قواعد البيانات أوراكل من خلالها .

التعامل مع مزودات خدمة أخرى Third-Party ADO.NET Data Providers :
في الفقرة السابقة ذكرنا مزودات لقواعد البيانات الرئيسية ، ولكن ماذا عن قواعد البيانات MYSQL أو FoxPro أو DB2 مثلاً ؟
هل سنضطر في النهاية لاستخدام OleDb ذات السرعة الأبطأ والامكانيات المحدودة نسبياً ؟

لا طبعاً ، قامت اغلب الشركات بتطويرData Providers لمنتجاتها خاصة ب ADO.net أو حتى شركات تقدم مزودات معتمدة من الشركات الأصلية تتمتع بسرعة اكبر ومميزات وخدمات اضافية ، هذا الرابط مثال عليها :
http://www.sqlsummit.com/dataprov.htm

مكونات الفئة System.Data :

تحتوي هذه الفئة على كل ما يخص قواعد البيانات والتعامل معها من دوال وخصائص وحتى رسائل الأخطاء exceptions ، سنستعرض هنا سريعاً أهم محتويات هذه الفئة حيث ستفيدنا في التعرف على خصائصها :

IDbConnection Interface :
منه يتم اشتقاق الفئة الخاصة بالاتصال بقاعدة البيانات ، يحتوي على الدوال التالية :
كود PHP:
public interface IDbConnection IDisposable

{
string ConnectionString getset; }
int ConnectionTimeout get; }
string Data**** { get; }
ConnectionState State get; }
IDbTransaction BeginTransaction();
IDbTransaction BeginTransaction(IsolationLevel il);
void ChangeData****(string data****Name);
void Close();
IDbCommand CreateCommand();
void Open();

IDbCommand Interface :
يتم منه اشتقاق الفئات الخاصة بالتعامل لاحقاً مع تنفيذ جمل الاستعلام ، يحتوي على الدوال التالية :
كود PHP:
public interface IDbCommand IDisposable
{
string CommandText getset; }
int CommandTimeout getset; }
CommandType CommandType getset; }
IDbConnection Connection getset; }
IDataParameterCollection Parameters get; }
IDbTransaction Transaction getset; }
UpdateRowSource UpdatedRowSource getset; }
void Cancel();
IDbDataParameter CreateParameter();
int ExecuteNonQuery();
IDataReader ExecuteReader();
IDataReader ExecuteReader(CommandBehavior behavior);
object ExecuteScalar();
void Prepare();

IDbDataParameter
تحتوي على :
كود PHP:
public interface IDbDataParameter IDataParameter
{
byte Precision getset; }
byte Scale getset; }
int Size getset; }

IDataParameter :
تحتوي على :
كود PHP:
public interface IDataParameter
{
DbType DbType getset; }
ParameterDirection Direction getset; }
bool IsNullable get; }
string ParameterName getset; }
string SourceColumn getset; }
DataRowVersion SourceVersion getset; }
object Value getset; }

IDbDataAdapter :
كود PHP:
public interface IDbDataAdapter IDataAdapter
{
IDbCommand DeleteCommand getset; }
IDbCommand InsertCommand getset; }
IDbCommand SelectCommand getset; }
IDbCommand UpdateCommand getset; }

IDataAdapter :
كود PHP:
public interface IDataAdapter
{
MissingMappingAction MissingMappingAction getset; }
MissingSchemaAction MissingSchemaAction getset; }
ITableMappingCollection TableMappings get; }
int Fill(System.Data.DataSet dataSet);
DataTable[] FillSchema(DataSet dataSetSchemaType schemaType);
IDataParameter[] GetFillParameters();
int Update(DataSet dataSet);

IDataReader :
كود PHP:
public interface IDataReader IDisposableIDataRecord
{
int Depth get; }
bool IsClosed get; }
int RecordsAffected get; }
void Close();
DataTable GetSchemaTable();
bool NextResult();
bool Read();

IDataRecord :

كود PHP:
public interface IDataRecord
{
int FieldCount get; }
object thisstring name ] { get; }
object thisint i ] { get; }
bool GetBoolean(int i);
byte GetByte(int i);
char GetChar(int i);
DateTime GetDateTime(int i);
Decimal GetDecimal(int i);
float GetFloat(int i);
short GetInt16(int i);
int GetInt32(int i);
long GetInt64(int i);
...
bool IsDBNull(int i);

نكمل في الدرس القادم مع البدء باضافة قواعد بيانات إلى تطبيقاتنا ...


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
  #2  
قديم 05-03-2011, 10:47 PM
الصورة الرمزية ماريا إسلام
ماريا إسلام ماريا إسلام غير متواجد حالياً

عضو متألق

 
تاريخ التسجيل: Oct 2010
العمر: 35
المشاركات: 268
افتراضي

وعليك السلااام
جزاكم الله خيرااا كثيراا
//


توقيع : ماريا إسلام

ربي هذا العهد لك ... عزم القلب الوفا

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

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

صفحتي على الفيسبوك!

رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس الثاني والستون : ADO.net - الجزء الثاني - دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 3 05-03-2011 11:37 PM
الدرس الواحد والأربعون : Partial Methods دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-26-2010 04:14 PM
الدرس الواحد والثلاثون : ال Generic دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-25-2010 02:30 PM
الدرس الرابع عشر : this دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-19-2010 07:58 PM
الدرس التاسع : ال Enumeration دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-18-2010 04:27 PM

استضافة الحياة

الساعة الآن 04:13 PM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz