【问题标题】:Relationship: How to update a child field if the parent field is changed关系:如果父字段更改,如何更新子字段
【发布时间】:2016-07-05 14:13:25
【问题描述】:

大家好,在我问这个问题之前,我已经查看了问题建议,没有任何可以帮助我的。我在 2 个表(用户和朋友)之间有关系,当用户(父)状态字段发生更改时,我将如何更新朋友(子)状态字段?

关系:

我尝试过建立关系,这样如果用户的状态发生变化,它会自动更改朋友状态:

但是当用户状态改变时它不会更新朋友状态字段:/有什么建议吗?谢谢

【问题讨论】:

  • 级联更新是否已正确传播到您的 RDBMS?
  • 我不这么认为。我需要将父数据库中的状态设为主键吗?
  • 不,我不认为将用户的状态设为 PK 是一个好主意。您使用的是什么 RBMS,以及如何将架构推送到它?

标签: c# database winforms relationship


【解决方案1】:

您可以使用父表的 ColumnChanging/ColumnChanged 事件来捕捉状态变化。您可以在这些事件中编写自己的业务规则代码。

TypedDataset 设计器生成的所有类都是部分的(作为表单)。双击该列,查看 Visual Studio 生成的代码。

Partial Public Class MyDataSet
    Partial Class MyDataTable

        Private Sub MyDataTable_ColumnChanging(sender As System.Object, e As System.Data.DataColumnChangeEventArgs) Handles Me.ColumnChanging
            If (e.Column.ColumnName = Me.MyColumn.ColumnName) Then
                'Add user code here - Get and update ChildRow

            End If

        End Sub

    End Class    
End Class

或者您可以在编辑父状态值的控件上处理事件并在途中更新子状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多