PDA

View Full Version : خوندن مقدار فیلد ID با SqlDataReader



federrer
جمعه 09 شهریور 1386, 08:47 صبح
با سلام
دوستان من به یه مشکل خیلی ساده برخورد کردم ولی توش گیر کردم !!:(

یه گریدویو دارم که یه ستون شامل یه دکمه بهش اضافه کردم .یعنی موقع نمایش برای هر رکورد یه دکمه دارم که وقتی کلیک میشه باید مقدار فیلد ID اون رکورد رو از جدول بخونه و چاپ کنه .

این کد من تو رویداد کلیک دکمه :




Cnn.Open();
string str = "Select * from Table1";
SqlCommand Cmd = new SqlCommand(str,Cnn);

SqlDataReader SDR = Cmd.ExecuteReader();

// SDR.Read();
string s = SDR.GetValue(0).ToString();
Response.Write(s);



این پیغام رو میده:



Invalid attempt to read when no data is present


مسلما اگر SDR.Read(); رو هم تو کد فعال کنم ، دکمه هر رکورد رو که بزنم فقط ID رکورد اول چاپ میشه

یه وقت فکر نکنید پیغام بخاطر اینکه تو جدولم رکورد ندارم. . رکورد دارم اونم 10 تا !!

چی کار کنم ؟؟؟

shahab_ksh
جمعه 09 شهریور 1386, 10:22 صبح
یک راه اینه

ابتدا CommandName رو برای کلیدتون تعریف کنید

و بعد در رویداد GridView1_RowCommand مقدار CommandName دلخواه و بعد کلید اصلی این کلید ایجاد شده رو بدست بیارید




If e.CommandName = "command_name"Then




par_id.Value = Me.GridView1.DataKeys(CInt(e.CommandArgument)).Ite m(0) + 0


البته اگر کلید اصلی رو بصورت عدد داده باشید !