我有一個數據集與幾個表。在我添加到的其中一個表中,如果我在列中具有唯一值,我希望有一個限制,只允許添加一行。如何在C#.NET數據集表列中爲唯一值設置約束?
表:用戶 列:自動識別,組ID,單元ID *等
在MVS2008,我去設計和單元ID唯一屬性設置爲true
,但沒有奏效。
我也在硬編碼的地方添加一行到:this.dataset.Users.UnitIDColumn.Unique = true
並嘗試了一個try/catch(InvalidConstraintException),但是每當我硬編碼它,我總是會得到一個異常,即使這個值是唯一的或不是
如何限制只添加一個唯一的UnitID行?提前致謝。
謝謝,這似乎工作。然而,如果你把它放在我們添加行的主代碼中,你會得到一個異常,說明約束已經存在。我做了一個簡單的檢查,如果它存在,刪除它,然後再次添加它。 – mastofact 2010-09-30 21:51:01
我認爲約束添加必須發生在表創建級而不是行創建級。沒有看到您的代碼,但我會假設您可以將移動約束添加到行循環 – Roadie57 2010-10-01 13:08:20
每個MSDN您可以添加多個列上的唯一約束 唯一約束 您可以使用UNIQUE約束來確保沒有重複的值輸入不參與主鍵的特定列。儘管UNIQUE約束和PRIMARY KEY約束都強制執行唯一性,但如果要強制實施不是主鍵的列或列組合的唯一性,請使用UNIQUE約束而不是PRIMARY KEY約束。 可以在一個表上定義多個UNIQUE約束,而只能在一個表上定義一個PRIMARY KEY約束。 – Roadie57 2010-10-08 19:15:43