我正在执行一个SQL插入语句,例如从SqlDataReader中为INSERT语句检索潜在的异常
INSERT INTO Table (fk1, value1) OUTPUT inserted.pk VALUES ('fkv1', 'v1');
其中“PK”是一种自动递增的键值,如:
SqlDataReader reader = cmd.ExecuteReader();
外键与父表冲突,而reader.HasRows()反映了这一点,但如何我可以检索出现错误描述的实际异常对象吗?如果你删除了“OUTPUT”语句,它会抛出异常,但是在那里有这个语句,它会吞下错误,并且只返回“HasRows”== false。
我可以使用“结果视图”属性下的调试器查看错误,但是如何在代码中获取此值?
SQL服务器2008R2 .NET 4.0
感谢您的帮助。
编辑:
此调用不会引发异常。它没有成功完成的唯一迹象是“HasRows”是错误的。
你是否尝试用try/catch块来围绕这段代码? –
确保catch(ExceptionType ex)',以获取异常的信息。 – Ryan