VB.NETADO.NET で SQL コマンドを実行する

スポンサーリンク

ADO.NET で SQL コマンドを実行するには、System.Data.SqlClient.SqlCommand クラスの ExecuteNonQuery メソッドを使用します。実行する SQL コマンドは、System.Data.SqlClient.SqlCommand クラスの CommandText プロパティに設定します。

SqlCommand クラスのインスタンス自体は、SqlConnection クラスと紐付ける必要があります。SqlCommand クラスの Connection プロパティに SqlConnection を設定する必要があります。確実なのは、SqlConnection クラスの CreateCommand メソッドを使うことです。CreateCommand メソッドは、戻り値で SqlConnection に紐付いた SqlCommand のインスタンスが返されます。

説明が重複して、コードが冗長となることを防ぐために、SqlConnection クラスの Open メソッドまでの説明を省きました。引数 cSqlConnection は ADO.NET で SQL Server に接続する で接続が確立された SqlConnection クラスのインスタンスとします。

サンプルコード

以下にサンプルコードを示します。

VB.NET 全般
Private Shared Sub ExecuteNonQueryTest(ByVal cSqlConnection As System.Data.SqlClient.SqlConnection)
    ' cSqlConnection から SqlCommand のインスタンスを生成する
    Dim hCommand As System.Data.SqlClient.SqlCommand

    ' cSqlConnection から SqlCommand のインスタンスを生成する
    hCommand = cSqlConnection.CreateCommand()

    ' 実行する SQL コマンドを設定する
    hCommand.CommandText = "UPDATE Employees SET LastName = 'Queen' WHERE EmployeeID = 7"

    ' SQL コマンドを実行し、影響を受けた行を返す
    Dim iResult As Integer = hCommand.ExecuteNonQuery()

    ' hCommand を破棄する (正しくは オブジェクトの破棄を保証する を参照)
    hCommand.Dispose()

    ' 影響を受けた行を表示する
    MessageBox.Show(iResult.ToString())
End Sub

関連するリファレンス

準備中です。

スポンサーリンク