[英]Run SQL Stored Procedure And Return Print Message vb.net
我有一个带有2个参数的存储过程,返回的结果是PRINT
消息。 我可以传入参数并运行存储过程,但是我不知道如何返回结果。
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class Form1
Dim SQL As New SQLControl
Dim cmd As New SqlCommand
Private Sub RunSql_Click(sender As System.Object, e As System.EventArgs) Handles RunSql.Click
Try
If SQL.HasConnection = True Then
SQL.SQLCon.Open()
cmd.Connection = SQL.SQLCon
cmd.CommandText = "Exec stored procedure " & param1.Text & "," & param2.Text
cmd.ExecuteNonQuery()
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
SQL.SQLCon.Close()
End Try
End Sub
End Class
提前致谢。
您可以使用SqlConnection对象的InfoMessage事件从SQL Server数据源检索警告和参考消息。
这已经在类似的问题中得到了解答: 通过使用oledb获取vb.net中sql server的print语句的值
谢谢! 我使用您的链接做了更多的挖掘工作,现在已经可以使用了。
如果其他人需要示例,请在下面修改代码。
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class Form1
Dim SQL As New SQLControl
Dim cmd As New SqlCommand
Private Sub RunSql_Click(sender As System.Object, e As System.EventArgs) Handles RunSql.Click
Try
If SQL.HasConnection = True Then
SQL.SQLCon.Open()
cmd.Connection = SQL.SQLCon
cmd.CommandText = "Exec stored procedure " & param1.Text & "," & param2.Text
cmd.ExecuteNonQuery()
AddHandler SQL.SQLCon.InfoMessage, New SqlInfoMessageEventHandler(AddressOf OnInfoMessage)
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
SQL.SQLCon.Close()
End Try
End Sub
Private Shared Sub OnInfoMessage(sender As Object, args As SqlInfoMessageEventArgs)
Dim err As SqlError
For Each err In args.Errors
MsgBox(err.Message)
Next
End Sub
End Class
再次感谢,刘易斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.