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

时间:2016-05-29 21:00:57

标签: c# wpf datagridview datagrid

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

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

我也尝试使用SelectedRows,但我有这个错误:

  

'System.Windows.Controls.DataGrid'不包含的定义   'SelectedRow'并没有扩展方法'SelectedRow'接受第一个   可以找到类型为“System.Windows.Controls.DataGrid”的参数   (您是否缺少using指令或程序集引用?)

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

1 个答案:

答案 0 :(得分:0)

您可能希望在此处使用DataGridView。它提供对SelectedRows的访问,DataGridViewRow@idScenarist的集合。循环遍历该集合并使用包含相应id的列中的值更新 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(); } 参数,并在每个循环中执行delete命令对象。

这是一个基本的例子:

y.domain([
   d3.min(cities,function(c){return d3.min(c.values,function(v){return v.temperature;});}),
   d3.max(cities, function(c){return d3.max(c.values,function(v){return v.temperature;});})
]);