c#DataSet有2个表,如何从一个表中删除一行,它会从另一个表中删除一行?

时间:2010-09-01 13:52:30

标签: c# visual-studio visual-studio-2010 datatable dataset

我使用Visual Studio 2010

我有一个包含2个表的DataSet

one(MainList)具有类型,名称,路径,参数 另一个(UpadteList)有路径,哈希,日期

我在此列表中添加了文件,但它没有问题,现在我有以下

当我添加文件类型“更新”时 它将是“更新”,“我的程序”,“PATH-TO- / my.setup.exe”,“/最小化”

如果是“更新”类型 以下数据转到(UpdateList) “PATH-TO- / my.setup.exe”, “asdfwefwfgg3r34t34t34t”, “2010-09-01”

我希望当删除(MainList)中的一行并且(UpdateList)中具有相同路径的行时,它也会被删除

我应该在dataSet属性中使用循环或(我看到)使用关系

最好的方法是什么?

有循环我遇到了一些丑陋的错误,删除了主列表中的所有内容!

注意:我使用XML来存储数据(数据不大)

2 个答案:

答案 0 :(得分:1)

IMO,你有两个选择

  1. 使用DataTable约束,例如ForeignKeyConstraint和DeleteRule =级联设置。
  2. 在MainList数据表上使用RowDeleted / RowDeleting事件来查找并删除其他表中的相应行。

答案 1 :(得分:0)

我认为代码可以说是处理数据一致性的错误地方。我会在数据库中,在存储过程中执行此操作,或者,如果您使用的是SQL Server,则可能使用cascading deletes