نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در آپدیت دیتا گرید

  1. #1

    مشکل در آپدیت دیتا گرید

    لام و خسته نباشید
    من برای آپدیت دیتا گرید کدهای زیر را به کار بردم ولی در متغیر newname همان مقدار قبلی را قرار میدهد و آپدیت انجام نمی شود؟

    protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex = e.Item.ItemIndex;
    sqlsel = "select * from test";
    SqlCommand cmd = new SqlCommand(sqlsel, cnnSel);
    cnnSel.Open();
    DataGrid1.DataSource=cmd.ExecuteReader();
    DataGrid1.DataBind();
    cnnSel.Close();
    }
    protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
    {
    TextBox textName = (TextBox)e.Item.Cells[3].Controls[0];
    string newname;
    newname =textName.Text;
    Label1.Text = newname;
    string strSql;
    strSql = "update test set name=@name where stno="+e.Item.Cells[2].Text;
    SqlCommand cmdSql = new SqlCommand(strSql,cnnSel);
    cmdSql.Parameters.Add("@name", newname);
    cnnSel.Open();
    cmdSql.ExecuteNonQuery();
    cnnSel.Close();
    DataGrid1.EditItemIndex= -1;
    sqlsel = "select * from test";
    SqlCommand cmd = new SqlCommand(sqlsel, cnnSel);
    cnnSel.Open();
    DataGrid1.DataSource = cmd.ExecuteReader();
    DataGrid1.DataBind();
    cnnSel.Close();
    }

  2. #2
    با آزمون خطا این مشکل را میشه حل کرد ابتدا از یک مقدار ثابت استفاده کن

    مثل
    strSql = "update test set name="2454" where stno="+e.Item.Cells[2].Text

    اگه مشکلی در ذخیره نداشتی جای این دو دستور را عوض کن
    ابتدا این دستور را بنویس
    cmdSql.Parameters.Add("@name", newname);
    بعد هم این
    strSql = "update test set name=@name where stno="+e.Item.Cells[2].Text

    و مورد بعدی هم شرط دستور آپدیت هست که ممکنه هیچوقت برقرار نباشه
    و .... خیلی از موارد دیگه؟

  3. #3
    سلام دوست عزیز
    ممنون از توجهتون . ولی من برای تست برنامه مقدار newname را در یک lable چاپ کردم که همان مقدار اولی را نشان می دهد.
    با تشکر

  4. #4
    سلام
    ممنون از توجه همه شما دوستان عزیز. ایراد کار از بی دقتی خودم بود لازم بود در page_load کد

    if (!IsPostBack)

    را قرار بدم تا برنامه درست اجرا بشه.
    با تشکر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •