首页 文章

删除datagrid和数据库中的选定行?

提问于
浏览
-1

我想在datagridview中选择一行时从数据库中删除 . 我尝试了两种不同的方法 . 使用此方法,我只能删除几行 .

cmd.CommandText = "delete from dbo.Scenarist  where idScenarist=@idScenarist";
cmd.Parameters.Add(new SqlParameter("@idScenarist", dataGridScenarist.SelectedIndex));

我也尝试过SelectedRows,但是我有这个错误:

'System.Windows.Controls.DataGrid'不包含'SelectedRow'的定义,并且没有可以找到接受类型'System.Windows.Controls.DataGrid'的第一个参数的扩展方法'SelectedRow'(你是否错过了使用指令或程序集引用?)

是一个WPF应用程序,我不能使用DataGridView.Only DataGrid . 谢谢!

1 回答

  • 0

    你可能想在这里使用 DataGridView . 它提供对 SelectedRows 的访问,这是 DataGridViewRow 的集合 . 遍历该集合并使用包含相应id的列中的值更新 @idScenarist 参数,并在每个循环中执行delete命令对象 .

    这是一个基本的例子:

    cmd.CommandText = "delete from dbo.Scenarist  where idScenarist=@idScenarist";
            SqlParameter parm = new SqlParameter("@idScenarist", SqlDbType.Int);
            cmd.Parameters.Add(parm);
    
            foreach (DataGridViewRow row in dataGridScenarist.SelectedRows)
            {
                parm.Value = row.Cells["idScenarist"].Value;
                cmd.ExecuteNonQuery();
            }
    

相关问题