다음을 통해 공유


Parameters 컬렉션(ADO)

Command 개체의 모든 Parameter 개체를 포함합니다.

설명

Command 개체에는 Parameter 개체로 구성된 Parameters 컬렉션이 있습니다.

Command 개체의 Parameters 컬렉션에서 Refresh 메서드를 사용하면 Command 개체에 지정된 저장 프로시저 또는 매개 변수화된 쿼리에 대한 공급자 매개 변수 정보를 검색합니다. 일부 공급자는 저장 프로시저 호출 또는 매개 변수화된 쿼리를 지원하지 않습니다. 이러한 공급자를 사용할 때 Parameters 컬렉션에서 Refresh 메서드를 호출하면 오류가 반환됩니다.

사용자 고유의 Parameter 개체를 정의하지 않은 경우 Refresh 메서드를 호출하기 전에 Parameters 컬렉션에 액세스하면 ADO에서 자동으로 메서드를 호출하고 컬렉션을 채웁니다.

호출하려는 저장 프로시저 또는 매개 변수화된 쿼리와 연결된 매개 변수의 속성을 알고 있는 경우 공급자에 대한 호출을 최소화하여 성능을 향상시킬 수 있습니다. CreateParameter 메서드를 사용하여 적절한 속성 설정으로 Parameter 개체를 만들고 Append 메서드를 사용하여 Parameters 컬렉션에 추가합니다. 이렇게 하면 매개 변수 정보에 대한 공급자를 호출하지 않고도 매개 변수 값을 설정하고 반환할 수 있습니다. 매개 변수 정보를 제공하지 않는 공급자에게 작성하는 경우 매개 변수를 사용하려면 이 메서드를 사용하여 Parameters 컬렉션을 수동으로 채워야 합니다. 필요한 경우 Delete 메서드를 사용하여 Parameters 컬렉션에서 Parameter 개체를 제거합니다.

레코드 집합Parameters 컬렉션에 있는 개체는 레코드 집합이 닫혀 있으면 범위를 벗어나므로 사용할 수 없게 됩니다.

Command를 사용하여 저장 프로시저를 호출할 때 저장 프로시저의 반환 값/출력 매개 변수는 다음과 같이 검색됩니다.

  1. 매개 변수가 없는 저장 프로시저를 호출할 때는 Command 개체에서 Execute 메서드를 호출하기 전에 Parameters 컬렉션의 Refresh 메서드를 호출해야 합니다.

  2. 매개 변수를 사용하여 저장 프로시저를 호출하고 추가를 사용하여 Parameters 컬렉션에 매개 변수를 명시적으로 추가하는 경우 반환 값/출력 매개 변수를 Parameters 컬렉션에 추가해야 합니다. 반환 값은 먼저 Parameters 컬렉션에 추가되어야 합니다. 추가를 사용하여 정의 순서대로 Parameters 컬렉션에 다른 매개 변수를 추가합니다. 예를 들어 저장 프로시저 SPWithParam에는 두 개의 매개 변수가 있습니다. 첫 번째 매개 변수인 InParam은 adVarChar(20)로 정의된 입력 매개 변수이고 두 번째 매개 변수인 OutParam은 adVarChar(20)로 정의된 출력 매개 변수입니다. 다음 코드를 사용하여 반환 값/출력 매개 변수를 검색할 수 있습니다.

    ' Open Connection Conn  
    set ccmd = CreateObject("ADODB.Command")  
    ccmd.Activeconnection= Conn  
    
    ccmd.CommandText="SPWithParam"  
    ccmd.commandType = 4 'adCmdStoredProc  
    
    ccmd.parameters.Append ccmd.CreateParameter(, adInteger, adParamReturnValue, , NULL)   ' return value  
    ccmd.parameters.Append ccmd.CreateParameter("InParam", adVarChar, adParamInput, 20, "hello world")   ' input parameter  
    ccmd.parameters.Append ccmd.CreateParameter("OutParam", adVarChar, adParamOutput, 20, NULL)   ' output parameter  
    
    ccmd.execute()  
    
    ' Access ccmd.parameters(0) as return value of this stored procedure  
    ' Access ccmd.parameters("OutParam") as the output parameter of this stored procedure.  
    
    
  3. 매개 변수를 사용하여 저장 프로시저를 호출하고 Parameters 컬렉션에서 Item 메서드를 호출하여 매개 변수를 구성하는 경우 저장 프로시저의 반환 값/출력 매개 변수를 Parameters 컬렉션에서 검색할 수 있습니다. 예를 들어 저장 프로시저 SPWithParam에는 두 개의 매개 변수가 있습니다. 첫 번째 매개 변수인 InParam은 adVarChar(20)로 정의된 입력 매개 변수이고 두 번째 매개 변수인 OutParam은 adVarChar(20)로 정의된 출력 매개 변수입니다. 다음 코드를 사용하여 반환 값/출력 매개 변수를 검색할 수 있습니다.

    ' Open Connection Conn  
    set ccmd = CreateObject("ADODB.Command")  
    ccmd.Activeconnection= Conn  
    
    ccmd.CommandText="SPWithParam"  
    ccmd.commandType = 4 'adCmdStoredProc  
    
    ccmd.parameters.Item("InParam").value = "hello world" ' input parameter  
    ccmd.execute()  
    
    ' Access ccmd.parameters(0) as return value of stored procedure  
    ' Access ccmd.parameters(2) or ccmd.parameters("OutParam") as the output parameter.  
    

이 섹션에서는 다음 항목을 다룹니다.

참고 항목

Append 메서드(ADO)
CreateParameter 메서드(ADO)
Parameter 개체