2010-04-18 6 views
2

RETURN_VALUE의 의미를 알고 싶습니다! 나는이 일에 매달렸다. SQL Server 저장 프로 시저에서 RETURN_VALUE를 사용하는 방법? 감사 ..누군가가 매개 변수 RETURN_VALUE을 설명해 주실 수 있습니까?

ASP :

Set cmdDB = Server.CreateObject("ADODB.Command") 
With cmdDB 
    .ActiveConnection = ADOConM 
    .CommandText = "usp_jaljava_member_select" 
    .CommandType = adCmdStoredProc 
    .Parameters.Append .CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0) 
    .Parameters.Append .CreateParameter("@TLoginName", adVarChar, adParamInput, 15, lcase(TLoginName)) 
    .Parameters.Append .CreateParameter("@TPassword", adVarChar, adParamInput, 20, TPassword) 
    .Parameters.Append .CreateParameter("@retval", adVarChar, adParamOutput, 50) 

'.Parameters.Append .CreateParameter ("@의 TPinCode"adVarChar로, adParamInput, 15 TPinCode) .Execute를 ,, adExecuteNoRecords

RetVal = .Parameters("@retval") 
    Ret = Trim(.Parameters("RETURN_VALUE")) 

    'Set .ActiveConnection = Nothing 
End With 
Set cmdDB = Nothing 

UTid = RetVal 

SQL Server 저장 프로 시저 :

CREATE PROCEDURE usp_jaljava_member_select 
    @TLoginName varchar(15), 
    @TPassword varchar(20), 
    @retval varchar(50) OUTPUT 
    [email protected] varchar(15) 
AS 

답변

2

석사 SQL 저장 프로 시저 반환 할 수 return value -이 출력 매개 변수에서 떨어져있다.

위 코드는이 반환 값에 대한 액세스를 제공합니다.

자세한 내용은 RETURN (Transact-SQL) MSDN을 참조하십시오.

그래서, 다음과 같은 저장 프로 시저 :

CREATE PROCEDURE checkstate @param varchar(11) 
AS 
    IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA' 
    RETURN 1 
ELSE 
    RETURN 2; 
GO 

다음 코드는 매개 변수 및 데이터 전달에 따라 1 또는 2로 Ret을 설정합니다 : 내가 생각

Set cmdDB = Server.CreateObject("ADODB.Command") 
With cmdDB 
    .ActiveConnection = ADOConM 
    .CommandText = "checkstate" 
    .CommandType = adCmdStoredProc 
    .Parameters.Append .CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0) 
    .Parameters.Append .CreateParameter("@param", adVarChar, adParamInput, 11, "Contact") 

    .Execute,,adExecuteNoRecords 

    Ret = Trim(.Parameters("RETURN_VALUE")) 

End With 
Set cmdDB = Nothing 
1

이 값은 S에서 반환되는 값입니다. tored procedure.

Using a Stored Procedure with Output Parameters

A부터 SQL Server는 호출 할 수있는 저장 프로 시저 저장 프로 시저 가 다시 데이터를 반환하는 데 사용하는 매개 변수입니다 하나 개 OUT 이상의 매개 변수를 반환 하나 호출 응용 프로그램. 링크에서

CREATE PROCEDURE GetImmediateManager 
    @employeeID INT, 
    @managerID INT OUTPUT 
AS 
BEGIN 
    SELECT @managerID = ManagerID 
    FROM HumanResources.Employee 
    WHERE EmployeeID = @employeeID 
END 

public static void executeStoredProcedure(Connection con) { 
    try { 
     CallableStatement cstmt = con.prepareCall("{call dbo.GetImmediateManager(?, ?)}"); 
     cstmt.setInt(1, 5); 
     cstmt.registerOutParameter(2, java.sql.Types.INTEGER); 
     cstmt.execute(); 
     System.out.println("MANAGER ID: " + cstmt.getInt(2)); 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+1

당신이 나에게 예를 제공 할 수 있습니다로 기록 될 수 있을까? –

0

의 반환 값의 매개 변수 이름은 무엇이든 될 수 있습니다. 저장 프로 시저가 값을 반환
경우,

CREATE PROCEDURE usp_jaljava_member_select 
@TLoginName varchar(15), 
@TPassword varchar(20), 
@retval varchar(50) OUTPUT 
[email protected] varchar(15) 
AS 

BEGIN 
declare @errorCodeInCaseOfAnError int 

Return @errorCodeInCaseOfAnError 
END 
관련 문제