閱讀英文

共用方式為


DataTable.Constraints 屬性

定義

取得這個資料表所維護的條件約束 (Constraint) 集合。

C#
public System.Data.ConstraintCollection Constraints { get; }
C#
[System.Data.DataSysDescription("DataTableConstraintsDescr")]
public System.Data.ConstraintCollection Constraints { get; }

屬性值

ConstraintCollection,其中包含資料表的 Constraint 物件集合。 如果沒有任何 Constraint 物件存在,則會傳回空的集合。

屬性

範例

下列範例會將 加入 ForeignKeyConstraint 條件約束的集合。

C#
private void CreateConstraint(DataSet dataSet,
    string table1, string table2, string column1, string column2)
{
    ForeignKeyConstraint idKeyRestraint = new
        ForeignKeyConstraint(dataSet.Tables[table1].Columns[column1],
        dataSet.Tables[table2].Columns[column2]);

    // Set null values when a value is deleted.
    idKeyRestraint.DeleteRule = Rule.SetNull;
    idKeyRestraint.UpdateRule = Rule.Cascade;

    // Set AcceptRejectRule to cascade changes.
    idKeyRestraint.AcceptRejectRule = AcceptRejectRule.Cascade;

    dataSet.Tables[table1].Constraints.Add(idKeyRestraint);
    dataSet.EnforceConstraints = true;
}

備註

ForeignKeyConstraint會限制刪除或更新數據行 (或數據行) 中的值時所執行的動作。 這類條件約束旨在與主鍵數據行搭配使用。 在兩個數據表之間的父子關聯性中,從父數據表刪除值可能會影響子數據列,方式如下之一。

  • 子數據列也可以刪除 (級聯動作) 。

  • 子數據行中的值 (或數據行) 可以設定為 Null 值。

  • 子數據行中的值 (或數據行) 可以設定為預設值。

  • 可以產生例外狀況。

UniqueConstraint嘗試將主鍵中的值設定為非唯一值時,會變成作用中。

適用於

產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另請參閱