数据集不会删除

本文关键字:删除 数据集 | 更新日期: 2023-09-27 17:55:51

我要做的是将数据库中的一组记录放入列表框中,从该列表框中选择一行将在另一个列表框中显示其子记录,并在按下按钮时删除选定的子记录。第一部分工作正常,我在删除时遇到问题,它没有发生。这是为什么呢?

    public Form1()
    {
      InitializeComponent();
      SqlCommand comm = new SqlCommand();
      comm.CommandText = "Select * From Director;";
      comm.Connection = conn;
      da.SelectCommand = comm;
      da.Fill(ds, "Director");
      comm.ExecuteNonQuery();
      SqlCommand commf = new SqlCommand();
      commf.CommandText = "Select * From Film;";
      commf.Connection = conn;
      daf.SelectCommand = commf;
      daf.Fill(ds, "Film");
      commf.ExecuteNonQuery();
      ds.Tables["Director"].Constraints.Add("PK_Director", ds.Tables["Director"].Columns["id"], true);
      ds.Tables["Film"].Constraints.Add("PK_Film", ds.Tables["Film"].Columns["id"], true);
      ds.Relations.Add("fk_FilmDir", ds.Tables["Director"].Columns["ID"], ds.Tables["Film"].Columns["Id_director"]);
      SqlCommandBuilder builder = new SqlCommandBuilder(daf);
      daf.DeleteCommand = builder.GetDeleteCommand();
      listBoxparent.DataSource = d
      listBoxparent.DisplayMember = "Director.FirstName";            
      listBoxparent.ValueMember = "Director.FirstName";
      listBoxchildren.DataSource = ds;   
      listBoxchildren.DisplayMember = "Director.fk_FilmDir.title";
      conn.Close();
      }
private void button1_Click(object sender, EventArgs e)
       {
         int ind = listBoxchildren.SelectedIndex;
         listBoxchildren.DataSource = null;
         int idd= ds.Tables["Film"].Rows[ind].Field<int>("ID");
         ds.Tables["Film"].Rows.Remove(ds.Tables["Film"].Rows.Find(idd));    
         daf.Update(ds, "Film");
         listBoxchildren.DataSource = ds;
         listBoxchildren.DisplayMember = "Director.fk_FilmDir.title";
        }

数据集不会删除

确保在

数据集下具有"更新"和"删除"命令。 还要检查数据库的表中是否有主键。