2013-08-29 30 views
0

我正在編寫一個小應用程序,用於跨多個服務器部署存儲過程更新/版本。ExecuteNonQuery響應

我需要報告每臺服務器上的更新是否成功。

目前我只是做了以下內容:

int response = server.ConnectionContext.ExecuteNonQuery(sql); 

這成功地更新SP,但反應總是隨機負數(-3,-4等)。

如果每個更新成功或失敗,獲得響應報告的最佳方式是什麼?

+0

你可以顯示SQL嗎? – asantaballa

+0

它只是一個「ALTER PROCEDURE .........」 – JIbber4568

+3

返回值 類型:System.Int32 一個Int32值,它指定Transact-SQL命令對UPDATE,INSERT影響的總行數和DELETE語句。對於所有其他類型的語句,返回值爲-1。 – Vladimir

回答

2

什麼會得到迴應報到,如果每一次更新是成功還是失敗

如果查詢成功執行,你還沒有抓到任何異常,則意味着它的最好辦法是成功的。否則失敗。

+0

謝謝你。假設儘可能多,但不知道是否有更好的方式,我實際上可以得到成功/失敗的迴應。 – JIbber4568

+0

不客氣 – Ehsan

0

您可以使用RAISERROR執行Transaction(如果您的SQL命令基於多個表),並在SQL中使用Try-Catch。你會得到錯誤作爲輸出變量。