다음을 통해 공유


SQL: SQL 직접 호출(ODBC)

이 항목에서는 다음 내용을 설명합니다.

  • 직접 SQL 호출을 사용하는 경우

  • 데이터 원본에 대한 직접 SQL 호출을 만드는 방법입니다.

참고 항목

이 정보는 MFC ODBC 클래스에 적용됩니다. MFC DAO 클래스를 사용하는 경우 DAO 도움말에서 "Microsoft Jet 데이터베이스 엔진 SQL 및 ANSI SQL 비교" 항목을 참조하세요.

SQL을 직접 호출하는 경우

새 테이블을 만들고, 테이블을 삭제(삭제)하고, 기존 테이블을 변경하고, 인덱스를 만들고, ODBC(데이터 원본) 스키마를 변경하는 다른 SQL 함수를 수행하려면 DDL(데이터베이스 정의 언어)을 사용하여 데이터 원본에 직접 SQL 문을 실행해야 합니다. 마법사를 사용하여 디자인 타임에 테이블에 대한 레코드 집합을 만들 때 레코드 집합에 표시할 테이블의 열을 선택할 수 있습니다. 이렇게 하면 프로그램 컴파일 후 사용자 또는 데이터 원본의 다른 사용자가 나중에 테이블에 추가하는 열은 허용되지 않습니다. 데이터베이스 클래스는 DDL을 직접 지원하지 않지만 런타임에 새 열을 레코드 집합에 동적으로 바인딩하는 코드를 작성할 수 있습니다. 이 바인딩을 수행하는 방법에 대한 자세한 내용은 Recordset: ODBC(동적 바인딩 데이터 열)를 참조하세요.

DBMS 자체를 사용하여 DDL 함수를 수행할 수 있는 스키마 또는 다른 도구를 변경할 수 있습니다. 레코드를 반환하지 않는 미리 정의된 쿼리(저장 프로시저)를 호출하는 등 SQL 문을 보내는 데 ODBC 함수 호출을 사용할 수도 있습니다.

직접 SQL 함수 호출

CDatabase 클래스 개체를 사용하여 SQL 호출을 직접 실행할 수 있습니다. SQL 문 문자열(일반적으로 aCString)을 설정하고 개체의 CDatabase CDatabase::ExecuteSQL 멤버 함수에 전달합니다. ODBC 함수 호출을 사용하여 일반적으로 레코드를 반환하는 SQL 문을 보내는 경우 레코드는 무시됩니다.

참고 항목

SQL