2013-04-16 219 views
1

如何在不带参数的OnClick按钮上执行存储过程?我背后有下面的代码:执行存储过程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 

回答

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提供程序实现了connection pooling mechanism,因此,打开一个连接是一个轻量级过程。
所以,更好的方法是

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 

这样只需要时,再关闭和设置 See Using Statememt

+0

谢谢你的提醒的连接对象被创建。缺少的exec.ExecuteNonQuery()没有办法。它正在执行。接受答案。 –