Member 13859554 Ответов: 0

Как обновить строку в элементе управления видом сетки нажав кнопку Изменить


protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
      
        cn.Open();
        int customerid = Convert.ToInt32(((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text);
       String customername =(((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text);
       String email = (((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text);
       String amount = (((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text);
        SqlCommand cmd = new SqlCommand("update customer set customername='" + TextBox2.Text + "' where customerid='" + TextBox1.Text + "' ",cn);
        cmd.ExecuteNonQuery();
        cn.Close();
        Console.WriteLine("update end");
        BindGridview();
        clear();
          
     }


я обновлял свою кнопку обновления управления видом сетки, но это не обновление, пожалуйста, помогите мне..

Что я уже пробовал:

я обновлял свою кнопку обновления управления видом сетки, но это не обновление, пожалуйста, помогите мне..

Herman<T>.Instance

Как настроен ваш элемент управления GridView в файле ASPX.
Используете ли вы DataKeynames для вашего кодклиента?
Попробуйте поймать любую ошибку?
Каков идентификатор текстового поля, содержащего идентификатор клиента?
Что является идентификатором элемента управления TextBox, который содержит CustomerName?
Вы установили EditIndex и SelectedIndex при установке GridView в событии RowEditing?

Вопросы заканчиваются на "а"? Так что, может быть, измените свой вопрос

Richard Deeming

SqlCommand cmd = new SqlCommand("update customer set customername='" + TextBox2.Text + "' where customerid='" + TextBox1.Text + "' ",cn);


Только не это!

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]

using (SqlCommand cmd = new SqlCommand("update customer set customername = @customername where customerid = @customerid",cn))
{
    cmd.Parameters.AddWithValue("@customername", TextBox2.Text);
    cmd.Parameters.AddWithValue("@customerid", TextBox1.Text);
    
    cmd.ExecuteNonQuery();
}

0 Ответов