我正在執行一個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