2011-01-24 38 views
7

我正在執行'.net'代碼中的一個存儲過程。由於數據量很大,執行時間太長。有沒有辦法阻止這種執行從C#代碼?停止從.net執行SQL查詢代碼

換句話說,如果我們從數據庫本身執行查詢,有一個選項可以停止它的執行,但是在代碼中它有可能嗎?

+0

您可以在存儲過程中添加過濾器嗎?嘗試閱讀更多關於sql最佳實踐.. – Crimsonland 2011-01-24 07:48:06

回答

8

是的,你可以使用SqlCommand.Cancel取消查詢。但是,該命令必須在另一個線程中運行(否則僅在命令完成後纔會調用Cancel)。

如果要在指定的時間限制內運行時取消此查詢,也可以指定CommandTimeout

1

你可以做myCommand.Cancel(),而這將工作最好的,即使我在過去面對類似的問題,並使用myCommand.Cancel()我已經解決了我的問題。 :) :)