[MS SQL] Stored Procedure 에서 Return Value 를 처리하기
이걸 이제야 ...
평소 Return 을 쓰다가 ExecuteScalar 를 사용해서는 값을 못가져오는 것을 알고는
급한 마음에 sp 를 Select 로 수정해서 사용했다.
"어허~ 그럼 Return 구문을 써서는 어떻게 가져와야하는거지??"
하며 궁금해만 하다가...
이제야 알게 되었다.
CREATE PROCEDURE usp_WoojjaReturnValue
(
@WoojjaName NVARCHAR(50),
@WoojjaValue INT
) AS
-- INSERT the new record
INSERT INTO woojjaTable(Name, Value)
VALUES(@WoojjaName, @WoojjaValue)
RETURN 1
Dim woojjaConnection as New SqlConnection(connection string)
woojjaConnection.Open()
Dim woojjaCommand as New SqlCommand("usp_WoojjaReturnValue", woojjaConnection)
woojjaCommand.CommandType = CommandType.StoredProcedure
woojjaCommand.Parameters.Add("@WoojjaName", SqlDbType.VarChar, 50)
woojjaCommand.Parameters("@WoojjaName").Value = userID
woojjaCommand.Parameters.Add("@WoojjaValue", SqlDbType.Int)
woojjaCommand.Parameters("@WoojjaValue").Value = siteID
'여기서부터가 중요하다.
Dim returnValParam as New SqlParameter("@RETURN_VALUE", SqlDbType.Int)
'요기가 젤루 중요하다. ParameterDirection 을 ReturnValue 로 해야한다는거
returnValParam.Direction = ParameterDirection.ReturnValue
'그리고 마지막으로 Parameters Collection 에 parameter 를 추가한다.
woojjaCommand.Parameters.Add(returnValParam)
Dim woojjaReader as SqlDataReader = woojjaCommand.ExecuteReader()
Dim returnValue as Integer = Convert.ToInt32(returnValParam.Value)
이런거였어...
ㅡㅡ'
행복한 고수되십시요...
woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\