// C#
SqlConnection objConn = new SqlConnection(<[i]connectionsträng[/i]>);
SqlCommand objCmd = new SqlCommand("test", objConn);
objCmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = objCmd.Parameters.Add("@outparm", SqlDbType.Int);
param.Direction = ParameterDirection.Output;
objCmd.ExecuteNonQuery();
int value = param.Value;
objCmd.Dispose();
objConn.Dispose();
Output och anropa
7 svar · 290 visningar · startad av pellesvenne
Du skall dock inte använd RETURN eftersom det inte är en "Output" parameter utan en "Return" parameter.
Så sätt din @OUTPUT parameter till värdet 0 eller 99 så kommer det att fungera.
- M
josef> hur ska den se ut i vb da?
så ser den ut nu´!
Dim objConn As New SqlConnection(ConfigurationSettings.AppSettings("connection"))
Dim objCmd As New SqlCommand("checkLogin", objConn)
objCmd.CommandType = CommandType.StoredProcedure
objCmd.Parameters.Add("@anvandarnamn", SqlDbType.VarChar, 15).Value = anvandarnamn.Text
objCmd.Parameters.Add("@losenord", SqlDbType.VarChar, 15).Value = losenord.Text
objCmd.Connection.Open()
Dim objReader As IDataReader = objCmd.ExecuteReader()
Dim i As String = objReader.Read().ToString()
If i = "1" Then
Session("anvandarnamn") = anvandarnamn.Text
'Response.Redirect("logged.aspx")
Else
'Response.Redirect("login.aspx")
End If
Josefs kod i vb:
Dim objConn As New SqlConnection(<connectionsträng> )
Dim objCmd As New SqlCommand("test", objConn)
objCmd.CommandType = CommandType.StoredProcedure
Dim param As SqlParameter = objCmd.Parameters.Add("@outparm", SqlDbType.Int)
param.Direction = ParameterDirection.Output
objCmd.ExecuteNonQuery()
Dim value As Integer = param.Value
objCmd.Dispose()
objConn.Dispose()
Kan ha smygit in något fel..
Procedure or function checkLogin has too many arguments specified.
Vad är checkLogin?
Läs den här artikeln som Engine postade i det förra inlägget du frågade om db connections.
Using Return Code and Output Parameters for Stored Procedures
