이걸 이제야 ...

평소 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 ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\




Posted by woojja

댓글을 달아 주세요