【问题标题】:RowDeleting not working, no errors, but not deleting the fields in database tableRowDeleting 不起作用,没有错误,但没有删除数据库表中的字段
【发布时间】:2016-12-11 20:55:04
【问题描述】:

我正在尝试在 Visual Studio 中使用 c# 创建一个 asp.net Web 应用程序。我有一个页面需要在打开时显示数据库表中的一些字段。在这种情况下,之前已注册的孩子的名字、出生日期和用户名。我在我的页面上放置了一个 gridview 控件,在加载页面时编写了一些代码来连接到我的数据库,并使用上述信息填充 gridview。

一切正常,我的问题是我在 gridview 上启用了删除按钮,因为我的任务是让您能够使用删除按钮从数据库中完全删除子项。使用我当前的代码,这不会发生。我尝试了各种冗长的代码,但最终遇到了多个错误,因此重新开始,并试图保持简单。我在下面粘贴了我的代码,有人能指出为什么删除按钮没有从数据库中删除子项吗?提前致谢!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Diagnostics;
using System.Collections;
using System.Configuration;

namespace Coursework
{
public partial class view_remove : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        using (SqlConnection connect = new SqlConnection("Data Source=THEBEAST;Initial Catalog=newregDB;Integrated Security=True;Pooling=False"))
        using (SqlCommand cmd = new SqlCommand("SELECT [firstname], [dob], [ChildID] FROM [children]", connect))
        {
            connect.Open();
            SqlDataAdapter sda = new System.Data.SqlClient.SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            GridView1.DataSource = dt;
            GridView1.DataBind();
            connect.Close();
        }
    }

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    public void Gridview1_RowDeleting(Object sender, GridViewDeleteEventArgs e)
    {         
        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
        SqlCommand cmd = new SqlCommand("Delete From children (firstname, dob, childID)");
        GridView1.DataBind();
    }
}

}

【问题讨论】:

  • 遵循与 Page_Load 相同的模式,不同之处在于 SQL 查询将是 DELETE 语句,而不是 Page_Load 上的 SELECT 语句。现在,GridView1_RowDeleting 方法不知道在哪里可以找到您尝试删除行的数据库和表。

标签: c# sql database gridview


【解决方案1】:

您的删除语句应该看起来像“从子项中删除”而不指定任何字段。

【讨论】:

  • 我没有指定任何字段并将其保留在“从子项中删除”,但按下删除时仍然没有任何反应。孩子还在数据库表中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2013-10-01
  • 1970-01-01
相关资源
最近更新 更多