Member 13366591 Ответов: 1

Строка не удаляется в gridview?


protected void gid_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Label lblname = (Label)gid.Rows[e.RowIndex].FindControl("lblname");
            con.Open();
          string cmdd = "DELETE from grid where name='" + lblname + "'";
          
          cmd = new SqlCommand(cmdd,con);
          cmd.Parameters.AddWithValue("@name", lblname.Text);
           
            cmd.ExecuteNonQuery();
            con.Close();
            fill_show();
        }

код не работает должным образом
пожалуйста, дайте решение

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

protected void gid_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Label lblname = (Label)gid.Rows[e.RowIndex].FindControl("lblname");
            con.Open();
          string cmdd = "DELETE from grid where name='" + lblname + "'";
          
          cmd = new SqlCommand(cmdd,con);
          cmd.Parameters.AddWithValue("@name", lblname.Text);
           
            cmd.ExecuteNonQuery();
            con.Close();
            fill_show();
        }

Prifti Constantine

Почему вы пишете команду sql в этой ситуации?

Libin C Jacob

Это удаление со стороны базы данных?

Sinisa Hajnal

У вас нет определенного параметра @name в вашем запросе. Исправьте его, и он должен работать. Это также избавит вас от SQL - инъекции-вы никогда не должны добавлять текст от пользователя непосредственно в запрос.

1 Ответов

Рейтинг:
10

Karthik_Mahalingam

правка

string cmdd = "DELETE from grid where name=@name ";
            cmd = new SqlCommand(cmdd, con);
            cmd.Parameters.AddWithValue("@name", lblname.Text);
            cmd.ExecuteNonQuery();