이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

3.4. 토토 실행 기능

3.4.1. 주요 루틴

  • 집행다음에 쿼리를 보냅니다. 백엔드 서버. 아마도 다음 중 하나를 사용하는 것이 더 바람직할 것입니다. 다음 두 함수.

    ExecStatusType PgConnection::Exec(const char* 토토)
    쿼리 결과를 반환합니다. 다음 상태 결과 예상할 수 있습니다:
    PGRES_EMPTY_QUERY
    PGRES_COMMAND_OK, 토토가 명령인 경우
    PGRES_TUPLES_OK, 토토가 성공한 경우 반환된 튜플
    PGRES_COPY_OUT
    PGRES_COPY_IN
    PGRES_BAD_RESPONSE, 예상치 못한 응답이 발생한 경우 받았습니다
    PGRES_NONFATAL_ERROR
    PGRES_FATAL_ERROR
  • ExecCommandOk명령을 보냅니다 백엔드 서버에 토토합니다.

    int PgConnection::ExecCommandOk(const char *query)
    명령 토토가 성공하면 TRUE를 반환합니다.
  • ExecTuples확인명령을 보냅니다 백엔드 서버에 토토합니다.

    int PgConnection::ExecTuplesOk(const char *query)
    명령 토토가 성공하면 TRUE를 반환합니다.
  • 오류 메시지마지막을 반환합니다 오류 메시지 텍스트입니다.

    const char *PgConnection::ErrorMessage()

3.4.2. SELECT 결과 검색 중 정보

  • 튜플개수를 반환합니다. 쿼리 결과의 튜플(행).

    int PgDatabase::Tuples()
  • 필드개수를 반환합니다. 쿼리 결과의 각 튜플에 있는 필드(속성)입니다.

    int PgDatabase::Fields()
  • 필드 이름필드를 반환합니다. (속성) 주어진 필드 인덱스와 연관된 이름입니다. 필드 인덱스는 0부터 시작합니다.

    const char *PgDatabase::FieldName(int field_num)
  • 필드 번호PQfnumber는 다음을 반환합니다. 해당 필드와 연관된 필드(속성) 인덱스 이름.

    int PgDatabase::FieldNum(const char* field_name)
    -1은 주어진 이름이 어떤 필드와도 일치하지 않으면 반환됩니다.
  • 필드 유형필드를 반환합니다. 주어진 필드 인덱스와 연관된 유형입니다. 정수 반환된 것은 해당 유형의 내부 코딩입니다. 필드 인덱스 0부터 시작하세요.

    Oid PgDatabase::FieldType(int field_num)
  • 필드 유형필드를 반환합니다. 주어진 필드 이름과 연관된 유형입니다. 정수 반환된 것은 해당 유형의 내부 코딩입니다. 필드 인덱스 0부터 시작하세요.

    Oid PgDatabase::FieldType(const char* field_name)
  • 필드 크기크기를 반환합니다. 주어진 필드 인덱스와 연관된 필드의 바이트입니다. 필드 인덱스는 0부터 시작합니다.

    short PgDatabase::FieldSize(int field_num)
    데이터베이스에서 이 필드에 할당된 공간을 반환합니다. 필드 번호가 주어진 튜플. 즉, 크기는 데이터 유형에 대한 서버의 이진 표현입니다. 다음과 같은 경우 -1이 반환됩니다. 필드는 가변 크기입니다.
  • 필드 크기크기를 반환합니다. 주어진 필드 인덱스와 연관된 필드의 바이트입니다. 필드 인덱스는 0부터 시작합니다.

    short PgDatabase::FieldSize(const char *field_name)
    데이터베이스에서 이 필드에 할당된 공간을 반환합니다. 필드 이름이 지정된 튜플입니다. 즉, 서버의 크기 데이터 유형의 이진 표현. 필드인 경우 -1이 반환됩니다. 가변 크기입니다.

3.4.3. SELECT 결과 검색 중 값

  • GetValue단일 반환 PGresult의 한 튜플에 대한 필드(속성) 값입니다. 튜플 필드 인덱스는 0부터 시작합니다.

    const char *PgDatabase::GetValue(int tup_num, int field_num)
    대부분의 쿼리에서 GetValue에 의해 반환된 값은 속성 값의 널 종료 ASCII 문자열 표현입니다. 그러나 BinaryTuples()가 TRUE인 경우 GetValue에서 반환되는 값은 다음과 같습니다. 내부 형식의 유형에 대한 이진 표현 백엔드 서버(필드가 다음과 같은 경우 크기 단어는 포함되지 않음) 가변 길이). 그렇다면 프로그래머의 책임은 다음과 같습니다. 데이터를 올바른 C 유형으로 캐스팅하고 변환합니다. 포인터 GetValue에 의해 반환된 PGresult의 일부인 저장소를 가리킵니다. 구조. 수정해서는 안 되며 명시적으로 복사해야 합니다. 수명이 다한 후에 사용하려는 경우 다른 저장소에 값을 저장합니다. PGresult 구조 자체. BinaryTuples()는 아직 없습니다. 구현되었습니다.
  • GetValue단일 반환 PGresult의 한 튜플에 대한 필드(속성) 값입니다. 튜플 필드 인덱스는 0부터 시작합니다.

    const char *PgDatabase::GetValue(int tup_num, const char *field_name)
    대부분의 쿼리에서 GetValue에 의해 반환된 값은 속성 값의 널 종료 ASCII 문자열 표현입니다. 그러나 BinaryTuples()가 TRUE인 경우 GetValue가 반환하는 값은 다음과 같습니다. 내부 형식의 유형에 대한 이진 표현 백엔드 서버(필드가 다음과 같은 경우 크기 단어는 포함되지 않음) 가변 길이). 그렇다면 프로그래머의 책임은 다음과 같습니다. 데이터를 올바른 C 유형으로 캐스팅하고 변환합니다. 포인터 GetValue에 의해 반환된 PGresult의 일부인 저장소를 가리킵니다. 구조. 수정해서는 안 되며 명시적으로 복사해야 합니다. 수명이 다한 후에 사용하려는 경우 다른 저장소에 값을 저장합니다. PGresult 구조 자체. BinaryTuples()는 아직 없습니다. 구현되었습니다.
  • GetLength길이를 반환합니다. 필드(속성)의 바이트 단위입니다. 튜플 및 필드 인덱스 0부터 시작하세요.

    int PgDatabase::GetLength(int tup_num, int field_num)
    이것은 특정 데이터 값에 대한 실제 데이터 길이입니다. 이는 GetValue가 가리키는 개체의 크기입니다. 참고하세요 ASCII로 표현된 값의 경우 이 크기는 크기와 거의 관련이 없습니다. PQfsize에 의해 보고된 바이너리 크기입니다.
  • GetLength길이를 반환합니다. 필드(속성)의 바이트 단위입니다. 튜플 및 필드 인덱스 0부터 시작하세요.

    int PgDatabase::GetLength(int tup_num, const char* field_name)
    이것은 특정 데이터 값에 대한 실제 데이터 길이입니다. 이는 GetValue가 가리키는 개체의 크기입니다. 참고하세요 ASCII로 표현된 값의 경우 이 크기는 크기와 거의 관련이 없습니다. PQfsize에 의해 보고된 바이너리 크기입니다.
  • DisplayTuples모두 인쇄 튜플 및 선택적으로 속성 이름 지정된 출력 스트림.

    void PgDatabase::DisplayTuples(FILE *out = 0, int fillAlign = 1, 
            const char* fieldSep = "|",int printHeader = 1, int Quiet = 0)
  • PrintTuples모든 내용을 인쇄합니다. 튜플 및 선택적으로 속성 이름 지정된 출력 스트림.

    void PgDatabase::PrintTuples(FILE *out = 0, int printAttName = 1, 
            int terseOutput = 0, int 너비 = 0)

3.4.4. 비SELECT 결과 검색 정보

  • CmdTuples숫자를 반환합니다. INSERT, UPDATE 또는 DELETE 이후에 영향을 받는 행 수입니다. 만약 명령이 다른 명령이면 -1을 반환합니다.

    int PgDatabase::CmdTuples()
  • Oid상태

    const char *PgDatabase::OidStatus()

3.4.5. COPY 토토 처리

  • GetLine

    int PgDatabase::GetLine(char* 문자열, int 길이)
  • PutLine

    void PgDatabase::PutLine(const char* string)
  • EndCopy

    int PgDatabase::EndCopy()