PDA

View Full Version : نمایش رکورد



samira3
چهارشنبه 03 شهریور 1389, 14:57 عصر
با سلام
بچه ها من با کد زیر به تک تک فیلدهای رکوردم دسترسی دارم ولی حالا می خوام باکل رکوردم دسترسی داشته باشم
بگین اگه بخوام یک رکورد در یک لیبر نمایش بده چه کنم؟


SqlCommand cmd = new SqlCommand(" select * from ApplicantProfile where DomainName='" + DropDownList1.Text + "' ", sqlconnectionm);
sqlconnectionm.Open();

SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
TextBox1.Text = dr.GetValue(0).ToString().Trim();
TextBox3.Text = dr.GetValue(1).ToString().Trim();
TextBox5.Text = dr.GetValue(2).ToString().Trim();
TextBox2.Text = dr.GetValue(3).ToString().Trim();
TextBox4.Text = dr.GetValue(4).ToString().Trim();
TextBox6.Text = dr.GetValue(5).ToString().Trim();
TextBox7.Text = dr.GetValue(6).ToString().Trim();

}


سوال دیگه من چند تا مقدار دارم می خوام مقدارم نمایش بدم
با دستور بالا فقط یک مقدار نمایش می ده با چه دستوری برم رکورد بعد؟
فرض کنید من یک سری اخبار دارم
که وقتی خبر جدید مدیر زد بالایی خبرم بنشیند
تویی sqlبا orderby زمان
مرتب می کنم حالا چطور نمایش بدم؟

pystar
چهارشنبه 03 شهریور 1389, 15:28 عصر
با سلام
دوست عزيز من دو راه بهت پيشنهاد ميكنم البته راههاي زيادي وجود دارند.
بجاي if(dr.HasRows) //if از اين كد استفاده كن:


while(dr.read())
{ }

با اين دستور تمام ركوردهايي رو كه با شرط هماهنگي داره رو مياره براي اعمال تغييراتي كه قرار شما انجام بدي مثلا نمايش.
اما من خودم از اين روش استفاده ميكنم كه خيلي هم عاليه :



sqldataadapter adp=new sqldataadapter(" select * from ApplicantProfile where DomainName='" + DropDownList1.Text + "' ", sqlconnectionm);
dataset ds=new dataset();
adp.fill(ds,"table_name");

خوب دوست عزيز تا حالا تمام فيدهايي كه باشرط درست هستن رو تو يه ديتاست ريختيم. خوب حالا شما ميتوني با اين كد به هر ركوردي كه دلت خواست بري:



ds.table["table_name"].row[row][col]

row شماره ركورد مورد نظر و col هم شماره ستون مورد نظر هستش.
مثلا ميخواهي مقدار ستون سوم ركورد دوم رو بدست بياري:


txt.text=ds.table["table_name"].row[1][2].tostring();
و حالا شما ميخواين كه تمام اطلاعات رو مثلا اخبار رو به يكباره نشون بده: ساده هستش ميتوني از يه حلقه استفاده كني.قبلش تعدا ركوردهاي ديتاست رو بدست بيار و -1 كن كه اين ميشه تعداد اجراي حلقه.اگه غلط املايي داشتم خودت حلش كن.