Skip to end of metadata
Go to start of metadata

 

개요 


ODBC 함수, SQLFreeStmt의 사용방법에 대한 설명입니다. 

 

적용버전   


  • ALTIBASE HDB 6.3.1 을 기준으로 작성 되었습니다.
  • 추가사항 또는 업데이트가 필요한 경우 http://support.altibase.com/kr/ 또는 이 페이지에 댓글로 요청 글 남겨주세요.


SQLFreeStmt 옵션 


다음과 같은 4가지 옵션의 내용을 기술하고 있습니다. 

SQL_CLOSEstmt와 관련된 커서를 닫고 모든 보류중인 결과들을 폐기한다. 애플리케이션은 같은 또는 다른 변수들을 사용해 다시 SELECT 문을 수행함으로서 나중에 이 커서를 다시 열 수 있다. 만약 어떠한 커서도 열려 있지 않으면, 이 옵션 애플리케이션에 대해 아무런 영향을 주지 않는다.
SQL_DROP입력 명령문 핸들과 연관된 자원이 해제되고 핸들이 무효화된다. 열린 커서가 있는 경우 닫히고 모든 미결인 결과가 삭제된다.
SQL_UNBIND이 명령문 핸들에서 이전의 SQLBindCol() 호출에 의해 바인드된 모든 열이 해제된다.
SQL_RESET_PARAMS이 명령문 핸들에서 이전의 SQLBindParameter() 호출에 의해 설정된 모든 매개변수가 해제된다. 애플리케이션 변수 또는 파일 참조와 명령문 핸들의 SQL문 매개변수 마커 사이의 연관이 깨진다.


이 중 주로 사용되는 것이 SQL_CLOSE, SQL_DROP입니다. 

  1. SQLFreeStmt(stmt, SQL_DROP): 
    prepared 된 stmt(statement handle)에 대한 자원을 완전히 해제한다는 의미가 됩니다.
    즉 해당 stmt를 재사용하지 않을 때만 호출합니다.

  2. SQLFreeStmt(stmt, SQL_CLOSE): 
    검색된 데이타를 모두 Fetch 하지 않았을 경우, SQLFreeStmt(SQL_CLOSE) 없이 SQLExecute를 다시 실행하면 오류가 발생합니다.
    SQLFreeStmt(stmt, SQL_CLOSE)를 사용하면, SQLAllocStmt()를 하지 않고 기존 stmt를 재사용할수 있습니다.

 

  • No labels