运行SQL存储过程并返回打印消息vb.net
我有一个带有2个参数的存储过程,它返回的结果是一条运行SQL存储过程并返回打印消息vb.net,sql,sql-server,vb.net,stored-procedures,Sql,Sql Server,Vb.net,Stored Procedures,我有一个带有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
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
提前谢谢
您可以从SQL Server检索警告和信息性消息
使用SqlConnection对象的InfoMessage事件的数据源
这一点在一个类似的问题中得到了回答:
谢谢!我用你的链接做了更多的挖掘,我已经让它工作了 如果其他人需要示例,请修改下面的代码
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
再次感谢,
刘易斯