複雑な SQL があり、多くの計算などが含まれます。SQL サーバーに発行されたクエリをキャンセルできるかどうかを知りたいですか?
元。検索という名前のボタンがあり、ユーザーは検索をクリックします。「キャンセル」という名前のボタンを表示して、SQL サーバーに発行されたクエリをキャンセルする必要があります。
これは可能ですか?
複雑な SQL があり、多くの計算などが含まれます。SQL サーバーに発行されたクエリをキャンセルできるかどうかを知りたいですか?
元。検索という名前のボタンがあり、ユーザーは検索をクリックします。「キャンセル」という名前のボタンを表示して、SQL サーバーに発行されたクエリをキャンセルする必要があります。
これは可能ですか?
ADO.NET には多くの非同期関数がありますSqlCommand.BeginExecuteNonQuery
。
アプリケーションでこれらの関数を呼び出し、結果オブジェクトを保存して、ユーザーが [キャンセル] ボタンをクリックしたときにそれをキャンセルできます。
したがって、疑似コードでは、次の手順を実行できます。
IAsyncResult
関数呼び出しの返されたオブジェクトを格納します (操作が終了したことを検出してキャンセル ボタンを再度非表示にするため)。Cancel
メソッドを呼び出しますSqlCommand
。