70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
0

آپدیت در جدوال

سلام وقت بخیر asp  زبان سی شارپ

من یه جدول دارم داخل sql  که درخواستها ثبت میشه در زمان ثبت  (وضعیت  درخواست) میشه در حال بررسی   وقتی کاربر اون درخواستو بخواد لغو بکنه (وضعیت درخواست) میشه لغو شده 

میشه بهم بگید اینو چجوری تو سی شارپ بنویسم

من کویری آپدیت میزنم ولی کار نمیکنه میشه راهنمایی کنید

پرسیده شده در 1399/08/20 توسط

11 پاسخ

0

من کلا قاطی کردم میشه شما بهم بگید چجوری شماره سطر انتخابی گرید ویو رو میگیریم

پاسخ در 1399/08/21 توسط
0

خب ببینید تو session دارید درست تنظیمش می کنید ؟ ضمنا فکر نمی کنم session جای مناسبی برای اینکار باشه ، این یه متغییر داخل همین صفحه است ، چرا از همین فرم برش نمی دارید ؟

اضافه کردن دستور executeNoneQuery رو فراموش نکنید.

پاسخ در 1399/08/21 توسط
0

وقتتون بخیر نمیدونم چرا id Request همش صفر برمیگردونه

 

پاسخ در 1399/08/21 توسط
0

تست های بالا رو انجام دادید ؟ row دارید یا null بود ؟

یه عکس از صفحه طراحی شده تون بدید ، باید دید تو هر خط دکمه دارید ؟ بالا یا پایین صفحه فقط یک دکمه دارید ؟

پاسخ در 1399/08/21 توسط
0

query که به نظر درست میاد.

یه بار تو خود sql اجراش کنید ، مطمئن که بودید درسته. بیاید کد رو debug کنید و روی query یه break بزارید ببینید به اینجای کد میرسه ؟ اگر میرسه مقدار های idRequest رو چک کنید درست باشه و نهایتا ببینید اصلا اجرا میشه یا نه.

 

ضمنا ! شما اصلا دستور executeQuery رو ننوشتید. باید بین con open و close باشه ، حتی بهتر بود con.open رو هم قبل از sqlcommand می نوشتید. البته چون فقط یه دستوره خیلی این مورد آخر مهم نیست.

پاسخ در 1399/08/20 توسط
0

executeNoneQuery اینو اضافه کردم

خوب چجوری باید اون ایتم انتخاب شده رو براش query  بزنم ببینید یه مدل دیگم نوشتم نشد

if (e.CommandName == "CancelTravel")
            {
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = GridRequest.Rows[index];
                ViewState["IDRequest"] =row.Cells[0].Text;
                int IdRequest = Convert.ToInt32(Session["IdRequest"]);
                SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["KhodroDB"].ConnectionString);
                string query = "UPDATE Tbl_Request  SET StatusRequest = 'لغو شده'  where IdRequest=" + IdRequest;
                SqlCommand scmd = new SqlCommand(query, con);
                con.Open();
                scmd.ExecuteNonQuery();
                con.Close();
        }

 

میشه راهنماییم کنید چطور سطر انتخاب شده  رو روش کویری بزنم

پاسخ در 1399/08/21 توسط
0

   protected void BtnYes_Click(object sender, EventArgs e)
        {
            int IdRequest = Convert.ToInt32(Session["IdRequest"]);
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["KhodroDB"].ConnectionString);
            string query = "UPDATE Tbl_Request  SET StatusRequest = 'لغو شده'  where IdRequest=" + IdRequest; ;
            SqlCommand scmd = new SqlCommand(query, con);
            con.Open();
            con.Close();

 

 

پاسخ در 1399/08/20 توسط
0

فکر نمی کنید اگه جدول و query ونهایتا کدتون رو بزارید راحتتر میشه فهمید مشکلش کجاست ؟

پاسخ در 1399/08/20 توسط
0

فکر کنم تو این دو خط دارید کاملا همه چیز رو قاطی می کنید.

   ViewState["IDRequest"] =row.Cells[0].Text;
                int IdRequest = Convert.ToInt32(Session["IdRequest"]);

 

1 - چک کنید ، index و همین طور row یه وقت null نباشند ، یعنی خط رو درست گرفته باشید.

2- چرا دارید row.Cells[0].Text رو میزید تو viewstate ،  بعد session رو به idRequest ؟؟

خب از اول بگید idrequest =row.Cells[0].Text

 

تازه تو کدتون الان هیچ وقت Session["IdRequest) مقدار دهی اولیه نشده که بخواد چیزی جز صفر برگردونه! 

پاسخ در 1399/08/21 توسط

پاسخ شما