Member 13216732 Ответов: 1

Как удалить определенную строку из базы данных с помощью ASP.NET


я хочу удалить определенную строку после просмотра списка из базы данных. как я могу удалить его с помощью asp:Gridview?

[edit]добавлен блок кода - OriginalGriff[/edit]

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

<center>
        <div>
            <center>
            <asp:Image ID="p1" ImageUrl="p1.png" runat="server" Width="200px">
        </center>
            <br>
        <center>
        <asp:Label ID="Label1" runat="server" Text="Malaysian Communications and Multimedia Commisions" Font-Bold="True" Font-Size="XX-Large" ForeColor="#0099FF">      
        </center>
        <br>
        <center>
        <asp:Label ID="Label2" runat="server" Text="Propose New System" Font-Bold="True" Font-Size="XX-Large" ForeColor="#0099FF">      
        </center>
        <br>
        </div>
        <br>        
           <br>
        <div>
        <asp:TextBox ID="TextBox1" runat="server"><asp:Button ID="view" runat="server" Text="View" Width="86px" OnClick="view_Click">
        <br>
        <asp:Label ID="Label3" runat="server" Text="Please enter your ID to view list of system" Font-Size="Small" ForeColor="Red">
        <br>
        <br>
        <asp:Button ID="new" runat="server" Text="Add Item" OnClick="new_Click">
        </div>
        <br>
        <center>

            <asp:GridView ID="GridView1" runat="server" Width = "1200px" Font-Names = "Arial" Font-Size = "11pt" AlternatingRowStyle-BackColor = "#87dcf2" HeaderStyle-BackColor = "#f29a1f">
                <columns>
                  <asp:templatefield>
                        <edititemtemplate>
                            <asp:Button ID="ButtonUpdate" runat="server" CommandName="Update"  Text="Update"  />
                            <asp:Button ID="ButtonCancel" runat="server" CommandName="Cancel"  Text="Cancel" />
                        
                        <itemtemplate>
                            <asp:Button ID="ButtonEdit" runat="server" CommandName="Edit"  Text="Edit"  />
                            <asp:Button ID="ButtonDelete" runat="server" CommandName="Delete"  Text="Delete"  />











=======================================================



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data.SqlClient;
using System.Xml.Linq;
using System.Data;
using System.Web.UI.HtmlControls;
using System.Web.Configuration;
using System.Configuration;

public partial class home : System.Web.UI.Page
{
    
    protected void Page_Load(object sender, EventArgs e)
    {
        
        if (!Page.IsPostBack)
        {
            if (!IsPostBack)
            {
                //BindUserDetails();
            }
        }
    }



    protected void view_Click(object sender, EventArgs e)
    {
        SqlConnection myConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbconnection2"].ConnectionString);
        try
        {
            myConn.Open();
            SqlDataAdapter sda = new SqlDataAdapter("select department,Description,Objective from tb_form4 where id='" + TextBox1.Text + "'", myConn);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
        catch (SqlException ex)
        {
        }
        finally
        {
            // Close data reader object and database connection
            if (myConn.State == ConnectionState.Open)
            {
                myConn.Close();
            }
        }

       

    }

    protected void new_Click(object sender, EventArgs e)
    {
        Response.Redirect("Default.aspx");
    }


    





}

F-ES Sitecore

Приведите в порядок форматирование кода, чтобы ваша разметка была разборчивой, однако вам лучше потратить свое время на поиск в Google, как это сделать, поскольку она хорошо документирована.

https://www.google.com/search-что?q=asp.net+таблицы+ "удалить" +строки

1 Ответов

Рейтинг:
0

OriginalGriff

Для начала, никогда так не делай! Никогда не объединяйте строки для построения команды SQL. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.

Когда вы объединяете строки, вы вызываете проблемы, потому что SQL получает такие команды, как:

SELECT * FROM MyTable WHERE StreetAddress = 'Baker's Wood'
Цитата, добавленная пользователем, завершает строку в том, что касается SQL, и вы получаете проблемы. Но могло быть и хуже. Если я приду и наберу вместо этого: "x';DROP TABLE MyTable;--", то SQL получит совсем другую команду:
SELECT * FROM MyTable WHERE StreetAddress = 'x';DROP TABLE MyTable;--'
Которые SQL видит как три отдельные команды:
SELECT * FROM MyTable WHERE StreetAddress = 'x';
Совершенно правильный выбор
DROP TABLE MyTable;
Вполне допустимая команда "удалить таблицу"
--'
А все остальное-это комментарии.
Так оно и происходит: выбирает любые совпадающие строки, удаляет таблицу из базы данных и игнорирует все остальное.

Поэтому всегда используйте параметризованные запросы! Или будьте готовы часто восстанавливать свою БД из резервной копии. Вы ведь регулярно делаете резервные копии, не так ли?
А на сайте? Где любой человек из любой точки мира может делать именно то, что ему нравится? Это просто напрашивается на неприятности!

Когда вы исправите это во всем вашем приложении - и в качестве очень высокого приоритета - посмотрите на добавление кода для выполнения SQL DELETE: W3Schools: оператор SQL DELETE[^], но даже не думайте об этом, пока не исправите проблемы с SQL-инъекцией!