簡體   English   中英

c# - 僅在執行結束時觸發SqlConnection InfoMessage

[英]c# - SqlConnection InfoMessage triggering only at end of execution

我在用

sqlConnection.InfoMessage += new SqlInfoMessageEventHandler(sqlConnection_InfoMessage);

ExecuteNonQuery()來執行存儲過程。

我在存儲過程中使用RAISERROR("Custom Message", 10 , 1) WITH NOWAIT來拋出消息。

我正在獲取sql server在查詢執行結束時拋出的所有消息,我想要在進程時。

我可以通過設置sqlConnection.FireInfoMessageEventOnUserErrors = true;實時獲取所有消息sqlConnection.FireInfoMessageEventOnUserErrors = true; 但這導致嚴重性大於10的錯誤也由SqlInfoMessageEventHandler處理,我希望將其作為異常拋出。

有沒有什么方法可以在eventHandler中實時獲取嚴重程度為10的自定義sql信息快照,但是其他異常?

似乎問題出在ExecuteNonQuery()

在我的例子中,我使用了ExecuteScalar()並刪除了該行

sqlConnection.FireInfoMessageEventOnUserErrors = true;

這導致RAISERROR("Custom Message", 10 , 1) WITH NOWAIT被eventHandler和其他實時異常捕獲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM