2
我需要在我的C#Winforms應用程序中捕獲Unique
Constarints。在我以前的版本中,我只有一個UniqueKey
這是UK_StudentNo
,所以當用戶試圖給不同的學生給同一個學號時,我使用下面的代碼和SQLException
約束號2627
來捕獲違規。檢測多個唯一密鑰中的哪一個被違反?
catch (SqlException ex)
{
if (ex.Number==2627)
{
MessageBox.Show("Student number already given");
}
else
{
MessageBox.Show("Database Error !");
}
throw;
}
但現在,我還有一個UniqueKey
這是UK_Student_NationalID
,我不能跟這些不同的2 UniqueKeys
他們ConstraintNumber
所以我無法理解這唯一鍵違反拋出異常。我怎樣才能讓這2個UniqueKeys之間的差異時,我想在ex.Message
顯示像"Student number already given"
或"NationalID already given"
檢查'ex.Message',它應該說哪個約束被違反了。 – RBarryYoung
@RBarryYoung'ex.Message.contains(「UK_StudentNo」)'真的對我有用,thx –
我會將其添加爲答案。 – RBarryYoung