الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Dataset And Datareader

مغلق
بدأه hady_matrix في 4 سبتمبر 2007 · 6 رد · 992 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا الكود بيرجع (عدد الصفوف-1

  SqlConnection con = new SqlConnection("connectionstring");
	   con.Open();

	   SqlCommand cmd = new SqlCommand("select * from products", con);

		SqlDataReader dr = cmd.ExecuteReader();

		while (dr.Read())؟؟
		{

			Repeater1.DataSource = dr;
			Repeater1.DataBind();
	 }[/code
]
لdataset بينما بترجع جميع الصفوف
[code]SqlConnection con = new SqlConnection("connectionstring")
SqlDataAdapter da=new SqlDataAdapter ("select * from products", con);
DataSet ds=new DataSet ();
da.Fill(ds);
Repeater1.DataSource = ds;
Repeater1.DataBind();
اية السبب؟؟؟؟؟؟؟

يامقلب القلوب ثبت قلبى على دينك

محمد بن سعيد بن رسلان

#2
hady_matrix كتب:
هذا الكود بيرجع (عدد الصفوف-1

  SqlConnection con = new SqlConnection("connectionstring");
	   con.Open();

	   SqlCommand cmd = new SqlCommand("select * from products", con);

		SqlDataReader dr = cmd.ExecuteReader();

		while (dr.Read())؟؟
		{

			Repeater1.DataSource = dr;
			Repeater1.DataBind();
	 }[/code
]
لdataset بينما بترجع جميع الصفوف
[code]SqlConnection con = new SqlConnection("connectionstring")
SqlDataAdapter da=new SqlDataAdapter ("select * from products", con);
DataSet ds=new DataSet ();
da.Fill(ds);
Repeater1.DataSource = ds;
Repeater1.DataBind();
اية السبب؟؟؟؟؟؟؟

================

أكيد بيختلف !!

المثال الأول انت تسوي إسناد للداتا سورس بداخل while لاحظ كم مرة تسوي اسناد !!!

المفروض تغيير الكود إلى

	   SqlCommand cmd = new SqlCommand("select * from products", con);

		SqlDataReader dr = cmd.ExecuteReader();

			Repeater1.DataSource = dr;
			Repeater1.DataBind();

رســالـة من يتيــم

AytamResalhGIFmesg.gif

http://www.aytam.org.sa/message_aytam.php

----

أتمنى لك التوفيق اخي cold0zero في موقعك

logo.gif
#3

صح

لان انت اللي بتقوله كده

مع ال datareader انت بتضعه datasource لل repeater كلما قرأ سجل واحد فقط

فبالتالي لا يظهر الا سجل واحد

و الطبيعي انك تقرأ كل السجلات و بعدين تضع ال datareader كـ datasource

ممكن عن طريق عمل مصفوفة او اي Collection مثل ال arraylist طبعا عن طريق While dr.read

بس فيه طريق اسهل كالتالي

			SqlConnection con = new SqlConnection("connectionstring");
			SqlCommand cmd = new SqlCommand("select * from products", con);

			con.Open();
			// let the datareader close the connection after reading all records
			SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
			// no need to loop
			Repeater1.DataSource = dr;
			Repeater1.DataBind();
#4

هل دة بسبب جملة

while

بس انا اغرف ان جملة while

تظل تعمل طالما الشرط محقق

ممكن توضيح اكتر

شكرا

يامقلب القلوب ثبت قلبى على دينك

محمد بن سعيد بن رسلان

#5

نعم بسبب while

while عبارة عن loop يعني تخيل

بيدخل بعملية دوران وكل مرة يتم إسناد القيمة كـ داتا سورس

وهذا بيسببك لك مشكلة بالبيانات

رســالـة من يتيــم

AytamResalhGIFmesg.gif

http://www.aytam.org.sa/message_aytam.php

----

أتمنى لك التوفيق اخي cold0zero في موقعك

logo.gif
#6
اقتباس
هل دة بسبب جملة

while

بس انا اغرف ان جملة while

تظل تعمل طالما الشرط محقق

اقتباس
مع ال datareader انت بتضعه datasource لل repeater كلما قرأ سجل واحد فقط

فبالتالي لا يظهر الا سجل واحد

و الطبيعي انك تقرأ كل السجلات و بعدين تضع ال datareader كـ datasource

ممكن عن طريق عمل مصفوفة او اي Collection مثل ال arraylist طبعا عن طريق While dr.read

#7
اقتباس
مكن عن طريق عمل مصفوفة او اي مثل ال

arraylistCollection

howwwwwwwwwwww?

يامقلب القلوب ثبت قلبى على دينك

محمد بن سعيد بن رسلان

هذا الموضوع مغلق.

مواضيع مشابهة