تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الثالث والستون - عالم ADO.net وما يتعلق به - الجزء الثالث
#5
- التعامل مع DataReaders :

كما شاهدت في المثال السابق ، يمكن قراءة البيانات من DataReader بالشكل التالي مثلاً :
C#:

كود :
string listItem = "";
while (myDataReader.Read())
{
listItem= "Full Name: " + myDataReader["Full Name"].ToString() + " Age: " + myDataReader["Age"].ToString();
listBox1.Items.Add(listItem);
}

vb.net:

كود :
Dim listItem As String = ""
While myDataReader.Read()
listItem = "Full Name: " + myDataReader("Full Name").ToString() + " Age: " + myDataReader("Age").ToString()
listBox1.Items.Add(listItem)
End While


حيث تعود الدالة Read ب true ما دام هناك سجلات للقراءة ، وفي نفس الوقت مع كل استدعاء لها تنتقل إلى السجل التالي ...

طريقة القراءة تكون بتحديد الحقل المراد قراءته myDataReader["Age"] او بتحديد رقمه في الترتيب myDataReader[2] مثلاً .

الخاصية FieldCount تعطينا عدد النتائج المعادة ، لذا يمكننا تنفيذ نفس العملية السابقة بالشكل التالي :
c#:

كود :
for (int i = 0; i < myDataReader.FieldCount; i++)
{
listItem= "Full Name: " + myDataReader["Full Name"].ToString() + " Age: " + myDataReader["Age"].ToString();
listBox1.Items.Add(listItem);
}

vb.net:

كود :
For i As Integer = 0 To myDataReader.FieldCount - 1
listItem = "Full Name: " + myDataReader("Full Name").ToString() + " Age: " + myDataReader("Age").ToString()
listBox1.Items.Add(listItem)
Next


NextResult :

تمكنك ال DataReader من تعريف جملتي استعلام لاعادة الناتج ، فمثلاً لاعادة اسماء الموظفين ثم اسماء المشاريع :
C#:

كود :
[SIZE=3]string strSQL = "Select * From Employee_info;Select * from projects";
SqlCommand myCommand = new SqlCommand(strSQL, cn);[/SIZE]
[SIZE=3]do
{
while (myDataReader.Read())
{
for (int i = 0; i < myDataReader.FieldCount; i++)
listItem= "Data: " + myDataReader[0].ToString() ;
}
} while (myDataReader.NextResult());[/SIZE]
vb.net:

كود :
[SIZE=3]Dim strSQL As String = "Select * From Employee_info;Select * from projects"
Dim myCommand As New SqlCommand(strSQL, cn) [/SIZE]
[SIZE=3]Do
While myDataReader.Read()
For i As Integer = 0 To myDataReader.FieldCount - 1
listItem = "Data: " + myDataReader(0).ToString()
Next
End While
Loop While myDataReader.NextResult() [/SIZE]
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس الثالث والستون - عالم ADO.net وما يتعلق به - الجزء الثالث - بواسطة Raggi Tech - 14-10-12, 09:11 PM


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم