我是asp.net的新手,后面有vb.code

我正在尝试从 sql 中获取值(value)

我的代码

Dim apps As New MyApps
apps.OpenConnection()

Dim esql As New SqlCommand
esql.Connection = apps.oConn

esql.CommandText = "cekdatauploads"
esql.Parameters.Add("@value", SqlDbType.Int, 2)

esql.ExecuteNonQuery()
esql.Parameters("@value").Direction = ParameterDirection.Output

Dim nilai As Integer = esql.Parameters("@value").Value

apps.CloseConnection()

错误是
The parameterized query '(@value int)cekdatauploads' expects the parameter '@value', which was not supplied.

我已经尝试执行商店程序
declare @p int
exec [cekdatauploads] @p output
print @p

并返回 0 非空值。

提前致谢!

最佳答案

尝试通过交换两条线。

esql.CommandText = "cekdatauploads"
esql.Parameters.Add("@value", SqlDbType.Int, 2)
esql.Parameters("@value").Direction = ParameterDirection.Output
esql.ExecuteNonQuery()

还有一件事,如果 cekdatauploads 是一个存储过程,你应该在 CommandType 中声明它
esql.CommandType = CommandType.StoredProcedure
esql.CommandText = "cekdatauploads"
esql.Parameters.Add("@value", SqlDbType.Int, 2)
esql.Parameters("@value").Direction = ParameterDirection.Output
esql.ExecuteNonQuery()

10-06 14:31