SqlCommand.Cancel メソッド
アセンブリ: System.Data (system.data.dll 内)


キャンセルする処理が存在しない場合は、何も発生しません。ただし、実行中のコマンドがある場合は、キャンセルが失敗し、例外は生成されません。Cancel メソッドを使用して保留中の非同期操作をキャンセルすることはできません。

Imports System Imports System.Data Imports System.Data.SqlClient Imports System.Threading Module Module1 Private m_rCommand As SqlCommand Public Property Command() As SqlCommand Get Return m_rCommand End Get Set(ByVal value As SqlCommand) m_rCommand = value End Set End Property Public Sub Thread_Cancel() Command.Cancel() End Sub Sub Main() Dim connectionString As String = GetConnectionString() Try Using connection As New SqlConnection(connectionString) connection.Open() Command = connection.CreateCommand() Command.CommandText = "DROP TABLE TestCancel" Try Command.ExecuteNonQuery() Catch End Try Command.CommandText = "CREATE TABLE TestCancel(co1 int, co2 char(10))" Command.ExecuteNonQuery() Command.CommandText = "INSERT INTO TestCancel VALUES (1, '1')" Command.ExecuteNonQuery() Command.CommandText = "SELECT * FROM TestCancel" Dim reader As SqlDataReader = Command.ExecuteReader() Dim rThread2 As Thread = New Thread( _ New ThreadStart(AddressOf Thread_Cancel)) rThread2.Start() rThread2.Join() reader.Read() Console.WriteLine(reader.FieldCount) reader.Close() End Using Catch ex As Exception Console.WriteLine(ex.Message) End Try End Sub Private Function GetConnectionString() As String ' To avoid storing the connection string in your code, ' you can retrieve it from a configuration file. Return "Data Source=(local);Initial Catalog=AdventureWorks;" _ & "Integrated Security=SSPI;" End Function End Module
using System; using System.Data; using System.Data.SqlClient; using System.Threading; class Program { private static SqlCommand m_rCommand; public static SqlCommand Command { get { return m_rCommand; } set { m_rCommand = value; } } public static void Thread_Cancel() { Command.Cancel(); } static void Main() { string connectionString = GetConnectionString(); try { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); Command = connection.CreateCommand(); Command.CommandText = "DROP TABLE TestCancel"; try { Command.ExecuteNonQuery(); } catch { } Command.CommandText = "CREATE TABLE TestCancel(co1 int, co2 char(10))"; Command.ExecuteNonQuery(); Command.CommandText = "INSERT INTO TestCancel VALUES (1, '1')"; Command.ExecuteNonQuery(); Command.CommandText = "SELECT * FROM TestCancel"; SqlDataReader reader = Command.ExecuteReader(); Thread rThread2 = new Thread(new ThreadStart(Thread_Cancel)); rThread2.Start(); rThread2.Join(); reader.Read(); System.Console.WriteLine(reader.FieldCount); reader.Close(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } static private string GetConnectionString() { // To avoid storing the connection string in your code, // you can retrieve it from a configuration file. return "Data Source=(local);Initial Catalog=AdventureWorks;" + "Integrated Security=SSPI"; } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlCommand.Cancel メソッドを検索する場合は、下記のリンクをクリックしてください。

- SqlCommand.Cancel メソッドのページへのリンク