【发布时间】:2012-09-11 07:35:14
【问题描述】:
我想在 SQL Server 中创建调用函数,它接收两个参数并返回一个整数。当我调用存储过程时,我使用以下代码:
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "PROCEDURE_NAME"
sqlcmd.Parameters.Add(New SqlClient.SqlParameter("@param1", Utilities.NothingToDBNull(user)))
sqlcmd.Parameters.Add(New SqlClient.SqlParameter("@param2", Utilities.NothingToDBNull(password)))
da = New SqlClient.SqlDataAdapter()
da.SelectCommand = sqlcmd
table = New DataTable()
da.Fill(table)
在这种情况下,我有一个存储过程返回的表。如果我想使用返回标量值而不是存储过程的函数会有什么变化?
【问题讨论】:
-
可能您正在寻找[如何从 ado.net 调用 TSQL 函数][1] [1]:stackoverflow.com/questions/4145329/…
-
@John 但我只想返回标量值!为什么要使用存储过程?你确定我不能直接调用Function吗?
-
@Cuong 我尝试了你的代码,但没有返回正确的值。
-
错误信息显示:ParameterDirection 'ReturnValue' specified for parameter '@RETURN_VALUE' not è支持的。有表值的参数只支持ParameterDirection.Input。
-
如果您的 SP/Command 中有
RETURN @RETURN_VALUE行,那么我的回答应该会有所帮助。
标签: sql vb.net function stored-procedures ado.net