다음을 통해 공유


결과 처리 - 결과 처리

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

ODBC 애플리케이션의 결과 처리에는 먼저 결과 집합의 특성을 결정한 다음 SQLBindCol 또는 SQLGetData를 사용하여 데이터를 프로그램 변수로 검색하는 작업이 포함됩니다.

결과를 처리하려면

  1. 결과 집합 정보를 검색합니다.

  2. 바인딩된 열을 사용하는 경우 바인딩하려는 각 열에 대해 SQLBindCol을 호출하여 프로그램 버퍼를 열에 바인딩합니다.

  3. 결과 집합의 각 행에 대해 다음을 수행합니다.

    • SQLFetch를 호출하여 다음 행을 가져옵니다.

    • 바인딩된 열을 사용하는 경우 이제 바인딩된 열 버퍼에서 사용할 수 있는 데이터를 사용합니다.

    • 언바운드 열을 사용하는 경우 SQLGetData를 한 번 이상 호출하여 마지막 바인딩된 열 뒤의 언바운드 열에 대한 데이터를 가져옵니다. SQLGetData에 대한 호출은 열 번호의 순서를 늘려야 합니다.

    • SQLGetData를 여러 번 호출하여 텍스트 또는 이미지 열에서 데이터를 가져옵니다.

  4. SQLFetch가 SQL_NO_DATA 반환하여 결과 집합의 끝에 신호를 보낼 때 SQLMoreResults를 호출하여 다른 결과 집합을 사용할 수 있는지 확인합니다.

    • SQL_SUCCESS 반환하는 경우 다른 결과 집합을 사용할 수 있습니다.

    • SQL_NO_DATA 반환하는 경우 더 이상 결과 집합을 사용할 수 없습니다.

    • SQL_SUCCESS_WITH_INFO 또는 SQL_ERROR가 반환되면 SQLGetDiagRec를 호출하여 사용할 수 있는 PRINT 또는 RAISERROR 문 출력이 있는지 확인합니다.

      출력 매개 변수 또는 저장 프로시저의 반환 값에 바인딩된 문 매개 변수를 사용하는 경우 이제 바인딩된 매개 변수 버퍼에서 사용할 수 있는 데이터를 사용합니다. 또한 바인딩된 매개 변수를 사용하는 경우 SQLExecute 또는 SQLExecDirect에 대한 각 호출은 SQL 문 S 시간을 실행합니다. 여기서 S는 바인딩된 매개 변수 배열의 요소 수입니다. 즉, 처리할 결과의 S 집합이 있습니다. 여기서 각 결과 집합은 SQL 문의 단일 실행에서 일반적으로 반환되는 모든 결과 집합, 출력 매개 변수 및 반환 코드로 구성됩니다.

    참고 항목

    결과 집합에 컴퓨팅 행이 포함된 경우 각 컴퓨팅 행을 별도의 결과 집합으로 사용할 수 있습니다. 이러한 컴퓨팅 결과 집합은 일반 행 내에 섞여 일반 행을 여러 개의 결과 집합으로 나눕니다.

  5. 필요에 따라 SQL_UNBIND 사용하여 SQLFreeStmt를 호출하여 바인딩된 열 버퍼를 해제합니다.

  6. 다른 결과 집합을 사용할 수 있는 경우 1단계로 이동합니다.

참고 항목

SQLFetch가 SQL_NO_DATA 반환하기 전에 결과 집합 처리를 취소하려면 SQLCloseCursor를 호출합니다.

참고 항목

결과 집합 정보 검색(ODBC)