我对货币领域有约束,负值是不可接受的。约束条件一切正常,如果违反约束条件,我会收到错误。
无法更新行。原因:UPDATE语句与CHECK约束冲突" CK_Product_StandardCost"。冲突发生在数据库" AdventureWorksLT",table" SalesLT.Product",column' StandardCost'中。 声明已经终止。
我在catch块中收到此错误,因为我正在更新表中的错误数据。
我想要的是获取特定于此约束的列名称。这将是: StandardCost 。有什么方法可以在我的C#代码中找到列名吗?
答案 0 :(得分:1)
异常消息中包含Substring
的简单IndexOf
:
var message = ex.Message;
var column = message.Substring(message.IndexOf("column '") + 8, message.IndexOf("'", message.IndexOf("column '") + 9) - message.IndexOf("column '") - 8);