我必须创建要删除按钮的代码-因此,如果您在datagrid中选择了一些数据,则可以单击它并从数据库中删除该数据。
我通过将数据转换为我自己的类并在我自己的sql类中传递给函数'delete'进行了尝试。转换一切正常,因为我可以在函数中打印此类。但仅此而已。
这是我的删除功能:
public void Delete(List<Student> listOfSelected)
{
using (var con = new SqlConnection("Data Source=db-mssql;Initial Catalog=s18185;Integrated Security=True"))
{
con.Open();
var tran = con.BeginTransaction();
using (SqlCommand command = new SqlCommand("Delete from apbd.Student where indexNumber=@Id"))
{
command.Connection = con;
command.Transaction = tran;
try
{
for (int i = 0; i < listOfSelected.Count; i++)
{
MessageBox.Show(""+ listOfSelected.ElementAt(i).index);
command.Parameters.AddWithValue("@Id", listOfSelected.ElementAt(i).index);
}
command.ExecuteNonQuery();
tran.Commit();
}
catch (Exception e)
{
Console.WriteLine(e.StackTrace);
}
}
}
}
此功能基于事务,每次尝试时,我只能删除一行。如果我尝试更多,它将产生异常。