AcceptRejectRule 列挙体
ForeignKeyConstraint が設定されている DataTable で AcceptChanges メソッドまたは RejectChanges メソッドを呼び出した場合に実行されるアクションを決定します。
<Serializable>
Public Enum AcceptRejectRule
[C#]
[Serializable]
public enum AcceptRejectRule
[C++]
[Serializable]
__value public enum AcceptRejectRule
[JScript]
public
Serializable
enum AcceptRejectRule
解説
DataTable を変更した場合、 AcceptChanges メソッドを呼び出すまでは変更は最終的に有効になりません。親テーブル内の行で AcceptChanges または RejectChanges のいずれかを呼び出すと、 AcceptRejectRule 値によって、子テーブル内の対応する行に変更を反映するかどうかが決定されます。
メンバ
メンバ名 | 説明 |
---|---|
Cascade
.NET Compact Framework でもサポート。 |
リレーションシップ全体に連鎖変更が行われます。 |
None
.NET Compact Framework でもサポート。 |
アクションは実行されません (既定値)。 |
使用例
[Visual Basic, C#, C++] ForeignKeyConstraint を作成し、 AcceptRejectRule を含む各種プロパティを設定し、この制約を DataTable オブジェクトの ConstraintCollection に追加する例を次に示します。
Private Sub CreateConstraint(myDataSet As DataSet, table1 As String, table2 As String, _
column1 As String, column2 As String)
' Declare parent column and child column variables.
Dim parentColumn As DataColumn
Dim childColumn As DataColumn
Dim myForeignKeyConstraint As ForeignKeyConstraint
' Set parent and child column variables.
parentColumn = MyDataSet.Tables(table1).Columns(column1)
childColumn = MyDataSet.Tables(table2).Columns(column2)
myForeignKeyConstraint = New ForeignKeyConstraint _
("SupplierForeignKeyConstraint", parentColumn, childColumn)
' Set null values when a value is deleted.
myForeignKeyConstraint.DeleteRule = Rule.SetNull
myForeignKeyConstraint.UpdateRule = Rule.Cascade
myForeignKeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
' Add the constraint, and set EnforceConstraints to true.
myDataSet.Tables(table1).Constraints.Add(myForeignKeyConstraint)
myDataSet.EnforceConstraints = True
End Sub
[C#]
private void CreateConstraint(DataSet myDataSet, string table1, string table2,
string column1, string column2){
// Declare parent column and child column variables.
DataColumn parentColumn;
DataColumn childColumn;
ForeignKeyConstraint myForeignKeyConstraint;
// Set parent and child column variables.
parentColumn = myDataSet.Tables[table1].Columns[column1];
childColumn = myDataSet.Tables[table2].Columns[column2];
myForeignKeyConstraint = new ForeignKeyConstraint
("SupplierForeignKeyConstraint", parentColumn, childColumn);
// Set null values when a value is deleted.
myForeignKeyConstraint.DeleteRule = Rule.SetNull;
myForeignKeyConstraint.UpdateRule = Rule.Cascade;
myForeignKeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade;
// Add the constraint, and set EnforceConstraints to true.
myDataSet.Tables[table1].Constraints.Add(myForeignKeyConstraint);
myDataSet.EnforceConstraints = true;
}
[C++]
private:
void CreateConstraint(DataSet* myDataSet, String* table1, String* table2,
String* column1, String* column2){
// Declare parent column and child column variables.
DataColumn* parentColumn;
DataColumn* childColumn;
ForeignKeyConstraint* myForeignKeyConstraint;
// Set parent and child column variables.
parentColumn = myDataSet->Tables->Item[table1]->Columns->Item[column1];
childColumn = myDataSet->Tables->Item[table2]->Columns->Item[column2];
myForeignKeyConstraint = new ForeignKeyConstraint
(S"SupplierForeignKeyConstraint", parentColumn, childColumn);
// Set null values when a value is deleted.
myForeignKeyConstraint->DeleteRule = Rule::SetNull;
myForeignKeyConstraint->UpdateRule = Rule::Cascade;
myForeignKeyConstraint->AcceptRejectRule = AcceptRejectRule::Cascade;
// Add the constraint, and set EnforceConstraints to true.
myDataSet->Tables->Item[table1]->Constraints->Add(myForeignKeyConstraint);
myDataSet->EnforceConstraints = true;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Data
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System.Data (System.Data.dll 内)
参照
System.Data 名前空間 | DataTable | UniqueConstraint | ForeignKeyConstraint | AcceptRejectRule