我有一个 .NET 类(用于讨论,ClassA),它调用 SQL Server 存储过程(用于讨论,fooSproc),并使用 SqlDataReader 处理结果。处理行,并使用返回结果集中的列名称引用列。例如,其中 dr 是 SqlDataReader,类似于 dr["column_foo"]。
现在,举例来说,某人 checkin 了对 ClassA 的更改,以便在 fooSproc 返回的结果集中查找 column_bar。然而,那个人忽略了检查对 fooSproc 的更改,以致它实际上会返回 column_bar。
问题:代码可以编译,但由于缺少列而在运行时失败。
有没有办法让这种情况导致生成构建错误?当然,构建验证/验收测试在这里是有意义的,但尽早发现它会更便宜。请假装即使是表面的代码审查也超出了范围。
最佳答案
基本上,没有。它始终是一个运行时错误。
您始终必须针对 SQL Server执行代码,无论是使用 AutoSProc 进行解析、运行、反射(reflect),还是其他什么。 SQL Server 并不关心您是 Excel/VBA 还是 Visual Studio:您只是另一个客户...
关于.net - 由于存储过程和调用代码之间不匹配,如何导致构建错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3339335/