我正在执行一条SQL插入语句,例如:
INSERT INTO Table (fk1, value1) OUTPUT inserted.pk VALUES ('fkv1', 'v1');
其中"pk"是自增键值,如下:
SqlDataReader reader = cmd.ExecuteReader();
外键与父表冲突,reader.HasRows() 反映了这一点,但我如何检索实际的异常对象,并获取错误描述?如果删除“OUTPUT”语句,则会抛出异常,但是如果在其中使用该语句,则会吞噬错误,并且仅返回“HasRows”== false。
我可以使用调试器在“结果视图”属性下看到错误,但是我如何在代码中获取此值?
Sql Server 2008r2 .NET 4.0
感谢任何帮助。
编辑:
此调用不会引发异常。唯一表明它未成功完成的指示是“HasRows”为false。
catch(ExceptionType ex)
来获取异常的信息。 - Ry-