Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Procedure or function "" expects parameter "", which was not supplied

i am new on asp.net with vb.code behind

i am trying get value from sql

my code

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 error is

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

i already try execute store prosedure

declare @p int
exec [cekdatauploads] @p output
print @p

and return 0 not empty value.

Thanks in advance!

like image 473
Yan Susanto Avatar asked Dec 26 '22 09:12

Yan Susanto


2 Answers

try by interchanging the two lines.

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

one more thing if, cekdatauploads is a strored procedure, you should declare it in the CommandType

esql.CommandType = CommandType.StoredProcedure
esql.CommandText = "cekdatauploads"
esql.Parameters.Add("@value", SqlDbType.Int, 2)
esql.Parameters("@value").Direction = ParameterDirection.Output
esql.ExecuteNonQuery()
like image 92
John Woo Avatar answered Dec 28 '22 23:12

John Woo


You are executing the procedure before you are telling the command that it is an output parameter, by default it assumes it is an input parameter.:

esql.Parameters("@value").Direction = ParameterDirection.Output
esql.ExecuteNonQuery()
like image 22
GarethD Avatar answered Dec 28 '22 23:12

GarethD