PDA

View Full Version : بدست آوردن اطلاعات از sql با sql data reader



amin750
شنبه 02 شهریور 1392, 17:58 عصر
من اگه از یه صفحه که صفحه مدیریت هست بخوام اطلاعات رو با استفاده از SqlDataReader به صفحه دیگه که صفحه ویرایش هست بفرستم چه کار باید کنم؟
توضیحات: توی صفحه اول اطلاعات با گرید ویو نشون داده شدن و میخوام وقتی باتن ویرایش زده شد(باتن ویرایش خود گرید ویو) اون سطر از گرید ویو به صفحه ویرایش که ادیتور داره ارسال بشه واسه انجام ویرایش

nice_boy_a
شنبه 02 شهریور 1392, 18:40 عصر
شما دوتا کار میتونی انجام بدی:
1- اینکه کل اطلاعات رو بفرستی به صفحه ویرایش(که همچین معقول نیست).
2- ID رو بفرستی به صفحه ویرایش و از اون ور بر اساس ID اطلاعات رو دریافت کنی.

روش 2 رو می شکافم :چشمک:
یه دکمه داری تو گرید ویو ، اول باید به ItemTemplate تغییرش بدی، و بعد براش کد بنویس،ID همون سطر رو بدست بیار و توسط Redirect و QueryString ارسالش کن به صفحه ویرایش.

amin750
شنبه 02 شهریور 1392, 22:16 عصر
شما دوتا کار میتونی انجام بدی:
1- اینکه کل اطلاعات رو بفرستی به صفحه ویرایش(که همچین معقول نیست).
2- ID رو بفرستی به صفحه ویرایش و از اون ور بر اساس ID اطلاعات رو دریافت کنی.

روش 2 رو می شکافم :چشمک:
یه دکمه داری تو گرید ویو ، اول باید به ItemTemplate تغییرش بدی، و بعد براش کد بنویس،ID همون سطر رو بدست بیار و توسط Redirect و QueryString ارسالش کن به صفحه ویرایش.
میشه روش اولم توضیح بدی؟؟

nice_boy_a
شنبه 02 شهریور 1392, 22:42 عصر
روش اول رو میتونی با Session انجام بدی.
کل اطلاعات رو بدی به Session و صفحه بعد دریافت کنی

amin750
یک شنبه 03 شهریور 1392, 11:02 صبح
روش اول رو میتونی با Session انجام بدی.
کل اطلاعات رو بدی به Session و صفحه بعد دریافت کنی
با application هم میشه انجام داد؟؟
یه جایی دیدم از application استفاده کرده بود؟

amin750
یک شنبه 03 شهریور 1392, 11:12 صبح
توی اونجایی که با application انجام داده بود این کدشه توی صفحه اول
Application["RowEdit"] = dgPrevious.Rows[e.NewEditIndex].Cells[0].Text;
Response.Redirect("../admin/ManageNews.aspx");
(البته با vb بود من تبدیل کردم به سی شارپ اگه اشکال داره بگین)
وقتی میره توی صفحه دوم این کدشه
if (!(IsPostBack))
{
int RowEdit=Convert.ToInt32(Application["RowEdit"].ToString());
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand("select title,body from news where id=@id",con);
cmd.Parameters.AddWithValue("@id", RowEdit);
cmd.CommandType = CommandType.Text;
SqlDataReader sdr = cmd.ExecuteReader();
con.Open();
sdr.Read();
txtTitle.Text =sdr.GetString(0);
CKEditor1.Text=sdr.GetString(1);
sdr.Close();
con.Close();
}
اینم باز با vb بود تبدیلش کردم
الان توی این کد مشکلش اینجاست که از این خط ارور میگیره
int RowEdit=Convert.ToInt32(Application["RowEdit"].ToString());
میگه
Object reference not set to an instance of an object.

حالا اگه معادلش با session رو بم بگین ممنون میشم

zerocool151
یک شنبه 03 شهریور 1392, 14:10 عصر
اگه از multiview استفاده کنی که دیگه نیازی به پاس دادن اینجوری نداری
ولی اگه واقعا میخوای بفرستی به یه صفحه دیگه اطلاعاتو بریز تو یه datatable و بعد بریزش تو session و تو اون صفحه Session رو بریز تو datatable و استفاده کن

amin750
یک شنبه 03 شهریور 1392, 14:32 عصر
اگه از multiview استفاده کنی که دیگه نیازی به پاس دادن اینجوری نداری
ولی اگه واقعا میخوای بفرستی به یه صفحه دیگه اطلاعاتو بریز تو یه datatable و بعد بریزش تو session و تو اون صفحه Session رو بریز تو datatable و استفاده کن
multi view چی هست؟
راه دومو یه مثال میزنی؟؟