명령 개체(ADO)

데이터 원본에 대해 실행하려는 특정 명령을 정의합니다.

설명

Command 개체를 사용하여 데이터베이스를 쿼리하고 Recordset 개체의 레코드를 반환하거나, 대량 작업을 실행하거나, 데이터베이스의 구조를 조작할 수 있습니다. 공급자의 기능에 따라 일부 Command 컬렉션, 메서드 또는 속성이 참조될 때 오류가 발생할 수 있습니다.

Command 개체의 컬렉션, 메서드, 속성을 사용하여 다음을 수행할 수 있습니다.

  • CommandText 속성을 사용하여 명령의 실행 파일 텍스트(예: SQL 문)를 정의합니다. 또는 간단한 문자열(예: XML 템플릿 쿼리)이 아닌 명령 또는 쿼리 구조의 경우 CommandStream 속성을 사용하여 명령을 정의합니다.

  • 필요에 따라 Dialect 속성을 사용하여 CommandText 또는 CommandStream에 사용되는 명령 언어를 나타냅니다.

  • Parameter 개체 및 Parameters 컬렉션을 사용하여 매개 변수화된 쿼리 또는 저장 프로시저 인수를 정의합니다.

  • NamedParameters 속성을 사용하여 매개 변수 이름을 공급자에 전달할지 여부를 나타냅니다.

  • 명령을 실행하고 적절한 경우 Execute 메서드를 사용하여 Recordset 개체를 반환합니다.

  • 실행 전에 성능을 최적화하려면 CommandType 속성을 사용하여 명령 유형을 지정합니다.

  • 실행하기 전에 Prepared 속성을 사용하여 공급자가 준비된(또는 컴파일된) 명령 버전을 저장할지 여부를 제어합니다.

  • 공급자가 CommandTimeout 속성을 사용하여 명령이 실행될 때까지 대기하는 시간(초)을 설정합니다.

  • ActiveConnection 속성을 설정하여 열려 있는 연결을 Command 개체와 연결합니다.

  • Name 속성을 설정하여 Command 개체를 연결된 Connection 개체의 메서드로 식별합니다.

  • 데이터를 가져오려면 RecordsetSource 속성에 Command 개체를 전달합니다.

  • Properties 컬렉션을 사용하여 공급자별 특성에 액세스합니다.

참고

Command 개체를 사용하지 않고 쿼리를 실행하려면 쿼리 문자열을 Connection 개체의 Execute 메서드 또는 Recordset 개체의 Open 메서드에 전달합니다. 그러나 명령 텍스트를 유지하거나, 다시 실행하거나, 쿼리 매개 변수를 사용하려는 경우 Command 개체가 필요합니다.

이전에 정의된 Connection 개체와 독립적으로 Command 개체를 만들려면 ActiveConnection 속성을 유효한 연결 문자열로 설정합니다. ADO는 여전히 Connection 개체를 만들지만 해당 개체를 개체 변수에 할당하지는 않습니다. 그러나 여러 Command 개체를 동일한 연결과 연결하는 경우 Connection 개체를 명시적으로 만들고 열어야 합니다. 그러면 Connection 개체가 개체 변수에 할당됩니다. 닫힌 Connection 개체를 할당하면 오류가 발생하므로 Connection 개체를 Command 개체의 ActiveConnection 속성에 할당하기 전에 Connection 개체가 열려 있는지 확인합니다. Command 개체의 ActiveConnection 속성을 이 개체 변수로 설정하지 않으면 동일한 연결 문자열을 사용하더라도 ADO는 각 Command 개체에 대해 새 Connection 개체를 만듭니다.

명령을 실행하려면 연결된 Connection 개체의 Name 속성으로 명령을 호출합니다. 명령에는 ActiveConnection 속성이 Connection 개체로 설정되어 있어야 합니다. 명령에 매개 변수가 있는 경우 해당 값을 메서드에 인수로 전달합니다.

둘 이상의 Command 개체가 동일한 연결에서 실행되고 Command 개체가 출력 매개 변수가 있는 저장 프로시저인 경우 오류가 발생합니다. 각 Command 개체를 실행하려면 별도의 연결을 사용하거나 연결에서 다른 모든 Command 개체의 연결을 끊습니다.

Parameters 컬렉션은 Command 개체의 기본 멤버입니다. 따라서 다음 두 코드 문은 동일합니다.

objCmd.Parameters.Item(0)  
objCmd(0)  
  • Command 개체는 스크립팅에 안전하지 않습니다.

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

참고 항목

연결 개체(ADO)
Parameters 컬렉션(ADO)
Properties 컬렉션(ADO)
부록 A: 공급자