1

OnClickパラメータなしでボタンでストアドプロシージャを実行するにはどうすればよいですか? 次のコードビハインドがあります。

Protected Sub btnExport_Click(sender As Object, e As System.EventArgs) Handles btnExport.Click

        Dim exec As SqlCommand = New SqlCommand("up_ExportFile", conn)
        exec.CommandType = CommandType.StoredProcedure

End Sub
4

1 に答える 1

2

すでに接続を開いていると仮定すると、ExecuteNonQueryメソッドを追加するだけです

Protected Sub btnExport_Click(sender As Object, e As System.EventArgs) Handles btnExport.Click

        Dim exec As SqlCommand = New SqlCommand("up_ExportFile", conn)
        exec.CommandType = CommandType.StoredProcedure
        exec.ExecuteNonQuery()

End Sub

ただし、アプリケーションの存続期間中、開いた状態を保持するグローバル変数を保持しないことをお勧めしますSqlConnection。SqlServer の ADO.NET プロバイダーは接続プール メカニズムを実装しているため、接続を開くのは簡単な手順であることに注意してください。
したがって、より良いアプローチは

Using conn = new SqlConnection("your_connection_string_here")
    conn.Open()
    Dim exec As SqlCommand = New SqlCommand("up_ExportFile", conn)
    exec.CommandType = CommandType.StoredProcedure
    exec.ExecuteNonQuery()
End Using

このようにして、必要なときに接続オブジェクトが作成され、閉じられ て破棄されます。Statememt の使用を参照してください。

于 2013-04-16T18:47:34.423 に答える