sql - 如何在 vb.net 代码中使用 SQL Server 存储过程中的 OUT 参数

标签 sql sql-server vb.net stored-procedures out-parameters

我有一个 SQL Server 存储过程,它采用 IN 参数和 OUT 参数:

create PROCEDURE  [dbo].[GetServiceByKeyword] @keyword nvarchar(30), @Service INT OUT 
AS 
BEGIN   
    SET NOCOUNT ON;

    select @service = Service 
    from Keyword_Service 
    where Keyword = @keyword 
END

我在vb.net中这样调用它:

If cn.State = ConnectionState.Closed Then cn.Open()

cm = New SqlCommand("dbo.getservicebykeyword", cn)
cm.CommandType = Data.CommandType.StoredProcedure

cm.Parameters.AddWithValue("@keyword", id)

Dim Srvce As New SqlParameter("@Service", Data.SqlDbType.Int)
Srvce.Direction = Data.ParameterDirection.Output
cm.Parameters.Add(Srvce)

如何使用此存储过程的输出? (服务)

这是我第一次使用 OUT 参数,我想将结果转换为字符串以便能够在代码中使用它。

如有任何帮助,我们将不胜感激

最佳答案

调用 cm.Execute() 后,您可以使用以下方式获取值:

dim result=cm.Parameters("@Service").Value

希望对你有帮助

问候

关于sql - 如何在 vb.net 代码中使用 SQL Server 存储过程中的 OUT 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826611/

相关文章:

.net - 当被不同的 dbContexts 跟踪时,我如何 "supposed"使对象在 WinForms 中保持同步?

sql - 为什么 sql server datalength 函数会使我的字段长度加倍?

php - 为什么我的 4 个 PHP 输入中只有 1 个正确写入数据库?

mysql - 按另一个表的计数选择记录顺序,未在 Mysql 中检索正确的计数

一行中的最小和最大行的 SQL 值

c# - C#中的Unicode到字符串的转换

mysql - 准备好的语句的内部结构是什么样的?

c++ - 如何从 C++ 控制台程序连接到 MS SQL SERVER

SQL Server - 将默认日期时间值分配给存储过程中的参数

vb.net - 如何在 VB.NET 中使用 Rhino Mocks 模拟方法(自定义行为)