我正在使用动态数据并应用唯一密钥和其他数据库级验证,我已覆盖SubmitChanges函数。通过正则表达式提取值
这给了我原来的错误,我能够展示给最终用户。但是,此消息是这样的:
Violation of UNIQUE KEY constraint 'UK_CountryName_Country'. Cannot insert duplicate key in object 'dbo.Country'. The duplicate key value is (America).
The statement has been terminated.
我需要的信息的以下关键字:
- UNIQUE KEY
- UK_CountryName_Country
- 美国
我已经写了下面的正则表达式:
System.Text.RegularExpressions.Regex.Split(e.Message.ToString(), "^Violation of (UNIQUE KEY){1} constraint '([a-zA-Z_]*)'. Cannot insert duplicate key in object 'dbo.([a-zA-Z]*)'. The duplicate key value is ")
我已成功获得#1 &#2,但是#3。
任何人都可以帮助我。另外,有没有更好的方法来实现它。仅供参考:我也会捕获其他类型的数据库错误。
感谢
有没有人告诉你,你是一个很棒的正则表达式生成器?在第一次尝试中取得成功。你还可以指导我学习正则表达式的一些链接。谢谢。 – iMatoria
一个非常好的教程(教我90%的知识正则表达式)在[Regular-Expressions.info](http://www.regular-expressions.info) - 该网站的作者也使一块名为RegexBuddy的软件在模拟和帮助调试各种正则表达式方面非常出色(在各种语言/实现中 - 或者称为“正则表达式”) –