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