【发布时间】:2015-01-05 21:03:58
【问题描述】:
我在 Visual Studio 中连接到 SQL Server,我想执行一个存储过程并在消息框中检索返回值,但我不知道如何操作。
我刚刚明白了:
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 中需要的。
【问题讨论】:
-
改用
ExecuteScalar()。 -
为什么将 ReturnValue 调暗为对象?在您的 SQL 代码中,它是一个整数。
-
哎呀,谢谢大家,我做了您的更改,现在可以使用了!
Dim returnValue As Integer和returnValue = cmd.ExecuteScalar非常感谢。 -
你能显示存储过程的代码吗?很确定零不是上面的@return_value。您能否也测试非零回报?
-
当有人给你一个解决方案(你在下面有两个)你应该选择一个作为正确的。寻求帮助,得到帮助,然后编辑您的问题以添加“已解决”或“解决方案:按照这些人所说的做”有点粗鲁。
标签: sql-server vb.net stored-procedures ado.net