我在Visual Studio中连接到SQL Server,我想执行一个Store Procedure并在消息框中检索返回值,但我不知道如何。
我得到这个:
SqlConnection运行正常,显然问题出现在最后几行:
Dim myConnNAC As New SqlConnection("Initial Catalog=Northwind;Data Source=SERVERNAC\KANTAR;Initial Catalog=NACDroid;Persist Security Info=True;User ID=xxxxxx;Password=xxxxxx;")
Dim cmd As New SqlCommand
cmd.CommandText = "NACDRoid_actualiza_domicilios"
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = myConnNAC
myConnNAC.Open()
Dim returnValue As Object
returnValue = cmd.ExecuteReader.ToString()
MsgBox(returnValue)
当我执行存储过程时直接在SQL Server中显示0作为返回值如果没有问题,那就是我在MsgBox中需要的东西。
答案 0 :(得分:3)
cmd.ExecuteReader.ToString
这是做什么的?好吧,声明的前半部分已经执行
cmd.ExecuteReader
返回此类型的实例
(阅读图片中的文字)然后在这个实例上调用ToString
。 ToString
的默认实现返回类型名称。如," System.Data.SqlClient.SqlDataReader" 。
您需要使用阅读器从数据库中获取数据。 Here's the MSDN docs for this simple operation.
通常,如果使用ADO从数据库中检索单个值,您将要在命令对象上查找名为ExecuteScalar
的漂亮小方法。
答案 1 :(得分:1)