데이터베이스 서버에 대한 연결이 성공적으로 성공하면
여러 SQL 명령을 포함 할 수 있습니다 (분리PQEXEC
통화가 처리됩니다시작/커밋명령스포츠 토토구조는 결과 만 설명합니다스포츠 토토
pqexecparams
서버에 명령을 제출하고
스포츠 토토 *pqexecparams (pgconn *conn,
pqexecparams
PQEXEC
하지만 제공합니다pqexecparams
is
함수 인수는 다음과 같습니다.
명령을 보낼 연결 객체입니다
실행될 SQL 명령 문자열. 만약에$1, $2등
제공되는 매개 변수 수; 그것은입니다Paramtypes [], Paramvalues [], Paramlengths []및FARAMFORMATS []. (배열null언제nparamsis Zero.)
지정할 데이터 유형을 OID로 지정합니다Paramtypesisnull또는 특정 요소
매개 변수의 실제 값을 지정합니다. 에이
실제 데이터 길이를 지정합니다
매개 변수가 텍스트인지 지정합니다 (put a
텍스트 형식으로 결과를 얻으려면 0을 지정하고,
의 주요 장점pqexecparams
OverPQEXEC
그 매개 변수 값이 될 수 있습니다
와 달리PQEXEC
, pqexecparams
최대 하나의 SQL 명령을 허용합니다
팁 :OIDS를 통해 매개 변수 유형을 지정합니다
선택 *에서 mytable에서 x = $ 1 :: bigint;이 힘 매개 변수$1bigint14332_14398x. 매개 변수 유형 결정 강제,
pqprepare
준비 된 문을 작성하라는 요청을 제출합니다
스포츠 토토 *pqprepare (pgconn *conn,
pqprepare
생성 apqExecprepared
. 이 기능은 허용합니다pqprepare
is
이 함수는 준비된 진술을 작성합니다.stmtname에서쿼리Stringstmtnamecan be""이름이없는 것을 만들려면$1,
$2등nparams는 매개 변수 수입니다Paramtypes []. (배열 포인터가 될 수 있습니다null언제nparamsis Zero.)Paramtypes []OID에 의해 데이터를 지정합니다Paramtypesisnull또는nparams; 데이터 유형이 추론됩니다pqdescribeprepared
찾을 수있는 수단
withPQEXEC
, the스포츠 토토내용이 서버 측 성공을 나타내는 객체 또는PQERRORMESSAGE
더 많은 정보를 얻으려면
사용하기위한 준비된 진술pqExecprepared
PostgreSQL : 문서 : 8.3 : 스포츠 토토 사이트진술. 또한 없지만libpq준비된 삭제를위한 함수딜 로이징명령문을 사용할 수 있습니다
pqExecprepared
준비한 문을 실행하라는 요청을 보냅니다
스포츠 토토 *pqexecprepared (pgconn *conn,
pqExecprepared
pqexecparams
그러나pqExecprepared
가 지원됩니다
매개 변수는 동일합니다pqexecparams
Paramtypes []매개 변수
pqdescribeprepared
에 대한 정보를 얻기위한 요청을 제출합니다
스포츠 토토 *pqdescribeprepared (pgconn *conn, const char *stmtname);
pqdescribeprepared
응용 프로그램이 a에 대한 정보를 얻을 수 있도록 허용합니다pqdescribeprepared
만 지원됩니다
stmtnamecan be""또는 이름이없는 것을 참조하기 위해 null스포츠 토토상태pgres_command_ok반환됩니다. 그만큼pqnparams
andPQPARAMTYPE
적용 할 수 있습니다스포츠 토토얻기 위해pqnfields
, pqfname
, pqftype
등에 대한 정보를 제공합니다
pqdescribePortal
에 대한 정보를 얻기위한 요청을 제출합니다
스포츠 토토 *pqdescribePortal (pgconn *conn, const char *portalname);
pqdescribePortal
허용libpq포털에 직접 액세스 할 수는 없지만선언SQL 명령.)pqdescribePortal
만 지원됩니다
PortalNamecan be""또는 널 참조스포츠 토토상태pgres_command_ok반환됩니다. 그만큼pqnfields
,
pqfname
, pqftype
등을에 적용 할 수 있습니다스포츠 토토얻기 위해
the스포츠 토토구조가 반환 된 결과를 캡슐화합니다libpq애플리케이션 프로그래머는를 유지하기 위해주의해야합니다스포츠 토토추상화. 사용하십시오스포츠 토토. 직접 참조하지 마십시오스포츠 토토구조
pqresultstatus
명령의 결과 상태를 반환합니다.
execstatustype pqresultstatus (const 스포츠 토토 *res);
pqresultstatus
can
서버로 전송 된 문자열이 비어있었습니다.
반환하는 명령의 성공적인 완료 번호
명령의 성공적인 완료select또는Show).
(서버에서) 데이터 전송을 복사합니다
(서버로) 데이터 전송이 시작되었습니다.
서버의 응답은 이해되지 않았습니다.
비 치명적 오류 (통지 또는 경고)
치명적인 오류가 발생했습니다.
결과 상태가pgres_tuples_ok그런 다음 함수select0 행을 검색하는 명령은 여전히 표시됩니다pgres_tuples_ok. pgres_command_ok는 할 수있는 명령입니다삽입, 업데이트등). 의 응답pgres_empty_query
상태의 결과pgres_nonfatal_error절대 반환되지 않습니다PQEXEC
또는 기타섹션 30.11).
pqresstatus
열거 된 유형을 변환pqresultstatus
문자열 상수로
char *pqresstatus (execstatustype status);
PQRESULTERRORMESSAGE
명령과 관련된 오류 메시지를 반환합니다.
char *pqresulterrormessage (const 스포츠 토토 *res);
오류가 있으면 반환 된 문자열이 있습니다스포츠 토토핸들이 전달되었습니다PQCLEAR
.
바로 다음PQEXEC
또는pqgetresult
Call,PQERRORMESSAGE
(연결 중)PQRESULTERRORMESSAGE
(결과에서).스포츠 토토의지PQRESULTERRORMESSAGE
원할 때스포츠 토토; 사용PQERRORMESSAGE
알고 싶을 때
pqresulterrorfield
오류 보고서의 개별 필드를 반환합니다.
char *pqresultterrorfield (const 스포츠 토토 *res, int fieldcode);
FieldCode는 오류 필드입니다null이면 반환됩니다스포츠 토토는 오류 나 경고가 아닙니다스포츠 토토핸들이 전달되었습니다PQCLEAR
.
다음 필드 코드를 사용할 수 있습니다.
심각도; 필드 내용은오류, 치명적또는panic(오류 메시지에서) 또는경고, 통지, 디버그, 정보또는log(통지 메시지) 또는 a
오류에 대한 sqlstate 코드. sqlstatePostgre젠 토토 : 문서 : 8.3 : Postgre젠 토토 오류 코드. 이 분야는 현지화 할 수 없으며 항상입니다
기본 사람이 읽을 수있는 오류 메시지
세부 사항 : 선택적 보조 오류 메시지
힌트 : 선택적인 제안에 대해해야 할 일
소수 정수를 포함하는 문자열
이것은와 동일하게 정의됩니다.pg_diag_statement_position필드pg_diag_internal_query필드
내부적으로 생성 된 텍스트의 텍스트
오류가있는 컨텍스트의 표시
소스 코드 위치의 파일 이름
소스 코드 위치의 줄 번호
소스 코드 함수보고의 이름
클라이언트가 표시되는 서식을 담당합니다
내부적으로 생성 된 오류libpq심각도와 기본이 있습니다
오류 필드는에서만 사용할 수 있습니다.스포츠 토토객체, 아님pgconn개체; 없음PQERRORFIELD
기능.
PQCLEAR
a를 해제합니다스포츠 토토. 모든 명령 결과가 있어야합니다PQCLEAR
언제
void pqclear (스포츠 토토 *res);
당신은 a를 유지할 수 있습니다.스포츠 토토필요한만큼 오랫동안 물체; 가지 않습니다PQCLEAR
. 이 작업을 수행하지 못합니다
pqmakeemptypy스포츠 토토
빈 건설스포츠 토토주어진과 객체
스포츠 토토 *pqmakeemptypypy스포츠 토토 (pgconn *conn, execstatustype 상태);
이것은libpq's스포츠 토토개체. 이것connnull이 아니고상태오류, 전류를 나타냅니다스포츠 토토. 참고PQCLEAR
결국스포츠 토토반환libpq자체.
이 기능은 a에서 정보를 추출하는 데 사용됩니다.스포츠 토토apgres_tuples_ok). 그들은 또한 될 수 있습니다
pqntuples
쿼리의 행 수 (튜플)를 반환합니다
int pqntuples (const 스포츠 토토 *res);
pqnfields
각 행에서 열 (필드) 수를 반환합니다.
int pqnfields (const 스포츠 토토 *res);
pqfname
주어진과 관련된 열 이름을 반환합니다스포츠 토토핸들이 전달되었습니다PQCLEAR
.
char *pqfname (const 스포츠 토토 *res,
null열이면 반환됩니다
pqfnumber
주어진과 관련된 열 번호를 반환합니다
int pqfnumber (const 스포츠 토토 *res,
30991_31060
주어진 이름은 SQL에서 식별자처럼 취급됩니다.
FOO로 1, 2 "Bar"; 선택
결과가 있습니다 :
pqfname (res, 0)foopqfname (res, 1)barpqfnumber (res, "foo")0pqfnumber (res, "foo")0pqfnumber (res, "bar")-1pqfnumber (res, "\"bar \ "")1
pqftable
주어진 테이블의 Oid를 반환합니다.
OID pqftable (const 스포츠 토토 *res,
Invalidoidpg_class정확히 결정합니다
유형OID및 상수Invalidoidlibpq헤더 파일. 둘 다 정수 유형이 될 것입니다.
pqftablecol
열의 열 번호 (테이블 내)를 반환합니다
int pqftablecol (const 스포츠 토토 *res,
열 번호가 범위를 벗어난 경우 0이 반환됩니다.
pqfformat
형식을 나타내는 형식 코드를 반환합니다
int pqfformat (const 스포츠 토토 *res,
형식 코드 0은 텍스트 데이터를 나타냅니다
pqftype
지정된 열과 관련된 데이터 유형을 반환합니다
OID PQFTYPE (const 스포츠 토토 *res,
시스템 테이블을 쿼리 할 수 있습니다PG_TYPE이름과 속성을 얻습니다OID32238_32300SRC/포함/카탈로그/PG_TYPE.H
pqfmod
연관된 열의 유형 수정자를 반환합니다
int pqfmod (const 스포츠 토토 *res,
수정 자 값의 해석은 다음과 같습니다"정보 없음". 대부분의 데이터
pqfsize
관련 열의 바이트로 크기를 반환합니다
int pqfsize (const 스포츠 토토 *res,
pqfsize
반환합니다
pqbinaryTuples
반환 1 인 경우 1스포츠 토토텍스트 데이터가 포함 된 경우 이진 데이터와 0이 포함됩니다.
int pqbinaryTuples (const 스포츠 토토 *res);
이 함수는 더 이상 사용되지 않습니다 (사용을 제외하고COPY)스포츠 토토일부에는 텍스트 데이터를 포함합니다pqfformat
선호됩니다.pqbinaryTuples
모두 1 명인 경우에만 반환합니다
pqgetValue
a의 단일 필드 값을 반환합니다.스포츠 토토. 행과 열스포츠 토토핸들이 전달되었습니다PQCLEAR
.
char *pqgetValue (const 스포츠 토토 *res,
텍스트 형식의 데이터의 경우pqgetValue
isTypSend
andtypreceive
함수. (가치는입니다
필드 값이 있으면 빈 문자열이 반환됩니다.PQGETISNULL
to
포인터가 반환pqgetValue
스토리지를 가리 킵니다스포츠 토토구조. 가리키는 데이터를 수정해서는 안되며스포츠 토토구조 자체.
PQGETISNULL
널 값에 대한 필드를 테스트합니다. 행 및 열 번호
int pqgetisnull (const 스포츠 토토 *res,
이 함수는 필드가 null 인 경우 1이고 0이면 0을 반환합니다.pqgetValue
빈 문자열을 반환합니다.
pqgetLength
필드 값의 실제 길이를 바이트로 반환합니다.
int pqgetlength (const 스포츠 토토 *res,
이것은 특정 데이터의 실제 데이터 길이입니다.pqgetValue
. 텍스트 데이터의 경우strlen ()
. 이진 형식의 경우 이것은입니다아님의존pqfsize
실제 데이터를 얻으려면
pqnparams
준비된 매개 변수 수를 반환합니다
int pqnparams (const 스포츠 토토 *res);
이 기능은 검사 할 때만 유용합니다pqdescribeprepared
. 다른 유형의 경우
PQPARAMTYPE
표시된 문의 데이터 유형을 반환합니다
OID PQPARAMTYPE (const 스포츠 토토 *res, int param_number);
이 기능은 검사 할 때만 유용합니다pqdescribeprepared
. 다른 유형의 경우
pqprint
모든 행과 선택적으로 열을 인쇄합니다
void pqprint (파일 *fout, / *출력 스트림 * /
이 함수는 이전에 사용되었습니다PSQL쿼리 결과를 인쇄하려면
이 함수는에서 정보를 추출하는 데 사용됩니다.스포츠 토토그렇지 않은 개체select결과.
pqcmdstatus
SQL 명령에서 명령 상태 태그를 반환합니다스포츠 토토.
char *pqcmdstatus (스포츠 토토 *res);
일반적으로 이것은 명령의 이름 일뿐입니다.스포츠 토토핸들이 전달되었습니다PQCLEAR
.
pqcmdtuples
SQL의 영향을받는 행 수를 반환합니다
char *pqcmdtuples (스포츠 토토 *res);
이 함수는 숫자를 포함하는 문자열을 반환합니다SQL스포츠 토토. 이 기능은 할 수 있습니다삽입, 업데이트,
삭제, 움직임, Fetch또는COPY성명서 또는 anexecute가 포함 된 준비된 쿼리의삽입, 업데이트또는삭제진술. 를 생성 한 명령이 있다면스포츠 토토다른 것이 었습니다.pqcmdtuples
반환합니다스포츠 토토핸들이 전달되었습니다PQCLEAR
.
pqoidvalue
OID 반환삽입 된 행의 경우SQL명령은삽입정확히 하나의 행을 삽입했습니다executea삽입진술.Invalidoid. 이 기능도 반환됩니다Invalidoid테이블이 영향을받는 경우삽입진술은 그렇지 않습니다
OID pqoidValue (const 스포츠 토토 *res);
pqoidstatus
삽입 된 행의 OID가있는 문자열을 반환합니다.SQL명령은삽입정확히 하나를 삽입했습니다execute준비삽입. (문자열은0삽입정확히 하나의 행을 삽입하지 않았거나 대상 테이블이삽입, 빈 문자열을 반환합니다.
char *pqoidstatus (const 스포츠 토토 *res);
이 함수는에 찬성하여 더 이상 사용되지 않습니다.pqoidvalue
. 스레드-안전이 아닙니다.
PQESCAPESTRINGCONN
탈출 aPQESCAPESTRINGCONN
이 작업을 수행합니다.
팁 :적절한 일을하는 것이 특히 중요합니다"SQL원치 않는 SQL 명령이있는 공격
탈출 할 필요가 없거나 맞지 않습니다.pqexecparams
또는 형제
SIZE_T PQESCAPESTRINGCONN (PGCONN *CONN,
PQESCAPESTRINGCONN
From문자열to버퍼, 스페셜을 탈출합니다PostgreSQL문자 그럴은입니다From첫 번째 문자를 가리 킵니다길이매개 변수는 바이트 수를 제공합니다길이. (만약에길이바이트가 처리 됨,PQESCAPESTRINGCONN
0에서 멈 춥니 다. 그만큼Strncpy
.) to길이,toandFrom문자열 중첩.
인 경우오류매개 변수는 아닙니다*오류는 0으로 설정되었습니다conn객체, 여부오류is null.
PQESCAPESTRINGCONN
반환to
SIZE_T PQESCAPESTRING (char *to, const char *from, size_t 길이);
PQESCAPESTRING
나이가 많고PQESCAPESTRINGCONN
; 차이점은 그것입니다conn또는오류매개 변수. 이 때문에, 그것은 할 수 없습니다잘못된 결과를 줄 수 있습니다.
PQESCAPESTRING
를 사용할 수 있습니다PostgreSQLa"무대 뒤에서"). 다른PQESCAPESTRINGCONN
.
PQESCAPEBYTEACONN
SQL 명령 내에서 사용하기 위해 이진 데이터를 EscapesBYTEA. 와 마찬가지로PQESCAPESTRINGCONN
, 이것은입니다
부호없는 char *pqescapebyteaconn (pgconn *conn,
특정 바이트 값필수탈출됩니다 (그러나 모두can탈출) A의 일부로 사용될 때BYTEA문자 그대로SQL진술. 일반적으로 탈출') 및 백 슬래시 (\) 문자는 특별한 대안이 있습니다섹션 8.4더 많은 것PQESCAPEBYTEACONN
이를 수행합니다
theFrom매개 변수 포인트from_length매개 변수to_length매개 변수 포인트
PQESCAPEBYTEACONN
탈출 한 버전의 반환From메모리의 파라미터 바이너리 스트링malloc ()
.pqfreemem ()
결과가 아니오 인 경우PostgreSQL문자열 리터럴 파서,BYTEA입력 함수. 에이PostgreSQL문자열 리터럴은 아닙니다
오류가 발생하면 널 포인터가 반환되고 적합합니다.conn개체. 현재 유일한 것입니다
PQESCAPEBYTEA
PQESCAPEBYTEA
isPQESCAPEBYTEACONN
.
부호없는 char *pqescapebytea (const unsigned char *from,
유일한 차이점PQESCAPEBYTEACONN
PQESCAPEBYTEA
apgconn매개 변수. 때문에. 또한 반환 할 방법이 없습니다
PQESCAPEBYTEA
할 수 있습니다PostgreSQL한 번에 연결 (이 경우 무엇을 찾을 수 있습니다."뒤에). 다른 맥락에서 그것은 보안입니다PQESCAPEBYTEACONN
.
PQUNESCAPEBYTEA
이진 데이터의 문자열 표현을 변환합니다PQESCAPEBYTEA
. 이것은 때 필요합니다BYTEA텍스트의 데이터
부호없는 char *pqunescapebytea (const unsigned char *from, size_t *to_length);
theFrom매개 변수 포인트pqgetValue
A에 적용되는 시점BYTEA열.PQUNESCAPEBYTEA
이 문자열을 변환합니다malloc ()
또는 널 오류가 발생하여 넣습니다to_length. 결과는 해제되어야합니다PQFREEMEM
언제
이 변환은 정확히 역수가 아닙니다PQESCAPEBYTEA
"탈출"에서받은 경우pqgetValue
. 특히 이것은 의미합니다pgconn매개 변수.
PQFREEMEM
메모리에 의해 할당 된 메모리가libpq.
void pqfreemem (void *ptr);
메모리에 의해 할당 된 메모리가libpq, 특히PQESCAPEBYTEACONN
, PQESCAPEBYTEA
, PQUNESCAPEBYTEA
및pqnotifies
. 특히 그렇습니다free ()
, Microsoft Windows에서 사용하십시오.free ()
.