从.NET数据库动态删除.NET

时间:2015-07-06 15:55:26

标签: c# sql .net dynamic sql-delete

我有一个SQL数据库,用于存储通过文本框输入的值。然后,它通过网格框在我的输出屏幕上显示该数据库的值。有没有办法让用户可以选择要删除的列?就像网格框中值附近的删除按钮一样。

如果不是,我如何删除SQL中的变量列号。比如,如果用户想要删除行说10.如何将其合并到我的SQL删除命令中。

它应该包含' top'命令?如果是这样的话?

protected void Button3_Click(object sender, EventArgs e)
{
    SqlConnection sc = new SqlConnection();

    sc.ConnectionString = ("Data Source=abc; Initial Catalog=VisualStudioTest; User ID=USER; Password=PASS");
    sc.Open();

    SqlCommand com = new SqlCommand();
    com.Connection = sc;
    com.CommandText = ("delete from notes");//initially I've kept this to delete everything.

    com.ExecuteNonQuery();

    sc.Close();
    Response.Redirect(Request.RawUrl);
}

标记:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataSourceID="SqlDataSource1" 
     OnSelectedIndexChanged="GridView1_SelectedIndexChanged1">
    <Columns>
        <asp:BoundField DataField="Notes" HeaderText="Notes" SortExpression="Notes" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:VisualStudioTestConnectionString3 %>" 
     SelectCommand="SELECT [Notes] FROM [Notes]" 
     OnSelecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>

1 个答案:

答案 0 :(得分:0)

我假设你的目标是删除一行。

我想到的最简单的方法是添加一个标识字段作为表的键,将新列添加到DataKeyNames的{​​{1}}列表中,然后将参数添加到GridView中的DeleteQuery

SqlDataSource

最后一步是将删除控件添加到delete from notes where identityCol = @identityCol;