2016-07-05 4 views
0

Привет, ребята, прежде чем задавать этот вопрос, я рассмотрел вопросы, и никто не может мне помочь. У меня есть связь между двумя таблицами (User and friends). Как обновить поле статуса друзей (Child), когда изменится поле состояния пользователя (родителя)?Отношения: Как обновить дочернее поле, если родительское поле изменено

Отношения:

Relationship

Я попытался сделать отношения так, что если статус пользователя изменяется автоматически изменится статус друзей: New Relationship

Но не обновляется поле статуса друзей при изменении статуса пользователя:/Любые предложения? Спасибо

+0

Каскадное обновление было правильно распространено на вашей РСУБД? – stuartd

+0

Я так не думаю. Мне нужно сделать статус в родительском db первичным ключом? – richardj97

+0

Нет, я не думаю, что создание статуса пользователя PK - хорошая идея. Какую RBMS вы используете, и как вы нажимаете на нее свою схему? – stuartd

ответ

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 

Или вы можете обработать событие на элементе управления, редактируя значение статуса родителей и обновляя статус детей на этом пути.