0

目前正在将 SQLException 错误消息转换为对最终用户更有用的消息。我最大的问题是找到我正在寻找的信息。

例如,错误代码 8114 是

“将数据类型 [Type1] 转换为 [Type2] 时出错”

错误代码 8152 是

“字符串或二进制数据将被截断”

在带有 SQLServer 的 VB.NET 中使用 ADO.NET,是否有一种简单的方法来确定哪些列受到这些错误的影响?

4

1 回答 1

3

问题是来自 SQL Server 的错误没有提供该信息,因此识别导致问题的字段的唯一方法是拆分 SQL 语句以单独为单独的字段运行它。这听起来像是开发人员应该测试的大量工作,以确保它不会碰巧开始。有些错误不是开发人员的错,但是您在此处列出的两个错误是开发人员应该避免发生的事情,并且应该是该过程的单元测试的一部分。

我能想到的一些错误不是开发人员错误,而是与 SQL Server 的连接错误或数据库的损坏错误有关。

我实际上喜欢这样一个事实,即我的用户不能总是找出导致问题的原因,因为它往往会迫使他们告诉我我的程序有问题。如果他们知道如何解决我应该修复的错误,他们往往不会告诉我有问题,有时我发现有问题已经好几年了。

于 2012-06-14T21:49:25.637 回答