جامعة أهلاً عرب

العودة   جامعة أهلاً عرب > كلية Microsoft.Net و Visual Studio > برمجة قواعد البيانات والتقارير

برمجة قواعد البيانات والتقارير تتناول مواضيع هذا القسم برمجة قواعد البيانات وتطبيقاتها بواسطة تقنية ADO.NET وكذلك التقارير بالتقنيات المختلفة سواء Microsoft ReportViewer أو CrystalReport بغض النظر عن اللغة المستخدمه في ذلك

آخر 10 مشاركات اخفاء المعادلات في شريط الصيغة ( آخر مشاركة : aymz077 - مشاركات : 6 - )           »          استفسار عن طباعة شهادات مدرسية ( آخر مشاركة : aymz077 - مشاركات : 2 - )           »          اطلبو أي لعبة وسآتيكم بها أنشاْ الله ( آخر مشاركة : MOUSSAKHRAIS - مشاركات : 1 - )           »          نظام الصادر و الوارد ( مشاركات : 31 - )           »          المحاسب المسلم لادارة المنشئات التجارية ( مشاركات : 2 - )           »          ارجو المساعده الترقيم التلقائي في نوذج فرعي ( مشاركات : 2 - )           »          فرصة دراسية ( آخر مشاركة : almohib_alsaghir - مشاركات : 2 - )           »          اخوي توت عنخ امون الحقني....كارثة حصلت ( آخر مشاركة : tutankhamoun - مشاركات : 1 - )           »          UTM University ولا تتردد بالسؤال ( مشاركات : 179 - )           »          استفسار ( آخر مشاركة : angelwings - مشاركات : 8 - )

إنشاء موضوع جديد  إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 2008-01-15, 09:15 AM   #1 (permalink)
عميد كلية
 
الصورة الرمزية جهاد العريقي
 
الجنس: ذكـــر
الجنسية:
بلد الإقامة:
الوظيفة:
المؤهل الدراسي:
التخصص العلمي:
كيف عرفت عن موقعنا: عن طريق صديق
تاريخ التسجيل: Jul 2007
المشاركات: 98
شكراً: 0
تم شكره 0 مرة في 0 مشاركة
معدل تقييم المستوى:2 جهاد العريقي 10- رحلة الألف ميل ... تبدأ بخطوة

DataSet and DataTable in ADO.NET 2.0 :

في هذا الموضوع ترجمة لما في المقالة التي على الرابط في الاسفل .
والتي تتناول ماهو جديد في Ado.net 2.0 وما هي التحسيانات الجديدة على هذه الفئة وعلى DataSet and DataTable ..



هذا الاصدار الجديد من ADO .NET مدعوم ببعض التحسينات التي لم توجد في الاصدار السابق من ADO.NET وهو الاصدار ADO.NET 1.x , وتوجد فية المزيد من الفئات الجديدة . جميع هذه الفئات الجديدة لتوفير مرونة وكفائه و تحسين الاداء .

لنأتي لشرح بعض الطرق التابعة لهذا الكائن هي Dataset و Datatable وما المقصود بهاتين الفئتين او هاذين الكائنين ومتى تستخدم هذه الكائنات خصوصاً عندما نتعامل مع rowsets كثيرة , والتي معها يمكن ان نواجة المشاكل .

سنناقش هنا بعض من هذه القضايا والتي عولجت في ADO.NET 2.0 , وسنلقي نظرة على الميزات الجديدة التي أضيفت إلى Datatable بالاضافة الى خيارات التحميل حتى طرق التحميل الجديدة , وغيرها من الميزات الجديدة منها القدرة على batch updates وايضاً ضغط الــ Dataset لنقل البيانات باستخدام binary serialization او التسلسل الثنائي ..


تحسينات DataTable :

في الإصدار السابق من ADO.NET 1.x حصل الــ Dataset على كل المجد والشهرة كما يقولون بينما الــDatatable بقي في الظل . وهنا لا نقول ان Datatable لافائدة منة او أنة عقيم لافائدة من هذا الكائن .
إن Datatable هي حاوية للصفوف والأعمدة ويُمْكِنُ أَنْ تُعتَبرا النقطة المركزيةَ لكُلّ البيانات المنقطعة.
على اية حال DataSet فإن الضغط يصبح على الــ Dataset لانها تحتوي على DataRelation وعلى الــ Datatable .

على اية حال مهما كانت الــ Datatable مفيدة إلا ان لها بعض القيود في الاصدار السابق من Ado.net على عكس الــ Dataset.


لناخذ على سبيل المثال عندما نريد عرض جدولين او 2 Datatable , يمكن لنا عرض 2 Datatable في Dataset واحدة ويمكن دمجهما معا ً في هذه الــ Dataset , لكن لا يمكن ان نقوم بهذه العملية بإستخدام Datatable ( أي ان الطريقة Merge ليست متوفرة في الإصدار السابق من هذه الاداة ) .

إذن لو كَانَ عِنْدَك أي َ Datatable لوحده ( وهذه الأداة لَيسَت مُحتَوى ضمن أي Dataset) و أردتَ دمجه مع Datatable اخر فلابد لك من ان تنشى كائن dataset وتضع فية الــ Datatable الأول وتنفذ الــطريقة
Dataset. merge كما في المثال الاتي :

طريقة الدمج كما في المثال الاتي :

كود PHP:
 
[font=Times New Roman] [/font]
[
font=Times New Roman]string sqlAllCustomers "SELECT * FROM Customers";string cnStr =   @"Data Source=.;Initial Catalog=northwind;Integrated Security=True";using (SqlConnection cn = new SqlConnection(cnStr)){    cn.Open();    SqlCommand cmd = new SqlCommand(sqlAllCustomerscn);    SqlDataAdapter adpt = new SqlDataAdapter(cmd);    DataTable dtCust1 = new DataTable("Customers");    adpt.Fill(dtCust1);    dtCust1.PrimaryKey = new DataColumn[]{dtCust1.Columns["CustomerID"]};    DataTable dtCust2 dtCust1.Clone();    DataRow row1 dtCust2.NewRow();    row1["CustomerID"] = "ALFKI";    row1["CompanyName"] = "Some Company";    dtCust2.Rows.Add(row1);    DataRow row2 dtCust2.NewRow();    row2["CustomerID"] = "FOO";    row2["CompanyName"] = "Some Other Company";    dtCust2.Rows.Add(row2);    DataSet ds = new DataSet("MySillyDataSet");    ds.Tables.Add(dtCust1);    ds.Merge(dtCust2);    dgTest.DataSource dtCust1;}[/font



او في vb.net



كود PHP:
[left]Dim sqlAllCustomers As String "SELECT * FROM Customers"
    
Dim cnStr As String "Data Source=.;Initial Catalog=northwind;Integrated Security=True"
 
    
Private Sub myCONN(ByVal cn As SqlConnection)
 
        
cn = New SqlConnection(cnStr)
        
cn.Open()
        
Dim cmd As SqlCommand = New SqlCommand(sqlAllCustomerscn)
 
        
Dim adpt As New SqlDataAdapter(cmd)
        
Dim dtCust1 As New DataTable("Customers")
        
Dim column(0) As DataColumn
 
        adpt
.Fill(dtCust1)
        
column(0) = dtCust1.Columns("CustomerID")
        
dtCust1.PrimaryKey column
 
        Dim dtCust2 
As DataTable dtCust1.Clone()
        
Dim row1 As DataRow dtCust2.NewRow
 
        row1
("CustomerID") = "ALFKI"
        
row1("CompanyName") = "Some Company"
 
 
        
dtCust2.Rows.Add(row1)
 
        
Dim row2 As DataRow
 
        dtCust2
.NewRow()
        
row2("CustomerID") = "FOO"
        
row2("CompanyName") = "Some Other Company"
        
dtCust2.Rows.Add(row2)
 
        
Dim ds As New DataSet("MySillyDataSet")
 
        
ds.Tables.Add(dtCust1)
        
ds.Merge(dtCust2)
 
        
DataGrid.DataSource dtCust1
 
 
    End Sub
[/left


يتبع
جهاد العريقي غير متواجد حالياً   رد مع اقتباس
مرحبا عزيزي الزائر
لمشاهدة باقي ردود هذا الموضوع, من فضلك قم بتسجيل الدخول او اضغط هنا للتسجيل.
إنشاء موضوع جديد  إضافة رد

أدوات الموضوع
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة
الانتقال السريع


الساعة الآن 10:18 PM.


Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd
إن الكتابات المنشورة في الجامعة ملك لأصحابها و هي لا تعبر عن وجهة نظر إدارة الجامعة


Search Engine Friendly URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53