向最终用户显示他们理解的外键约束警告



我有一个应用程序,它与使用外键约束的数据库一起工作。

例如,我们有一个库存表,它有一个外键约束,该约束引用了一个名为case_names的表。如果用户试图删除具有引用其ID的库存项目的案例名称,则操作受到限制。

我如何向用户显示他们会理解的消息?"您不能删除此案例,因为它仍然包含库存项目。'

我的想法是尝试捕获(捕获不同的错误类型?),但我真的不想把它用于预期的事情。

该应用程序在VB.Net中使用MySQL.data

我不会使用异常来处理用户错误或正常程序流。只需检查用户是否可以删除记录(可能使用存储过程),如果不能,则向她显示警告消息。

我认为例外情况是你无法预见的错误。

编辑以澄清:

存储过程(或程序中的代码)可以对所有涉及的表进行检查它甚至可以COUNT()有多少记录会受到删除请求的影响。通过计数,您可以告诉用户有多少库存项目与案例有关,例如:

"您不能删除此案例,因为它仍然包含32个库存项目。"

编辑以澄清更多信息:

当然,这并不是说引用完整性不应该在DB中正确设置。如果你忘记了一些检查,你仍然有适用于你的DB(用户会打电话给你,知道程序在说什么:)。

最新更新