Một khi kết nối với máy chủ cơ sở dữ liệu đã thành công
PQEXEC
Gửi kèo bóng đá pháp cho
PGRESULT *PQEXEC (PGCONN *Conn,
Trả về ApgresultCon trỏPGRES_FATAL_ERRORKết quả. Sử dụngpqerrormessage
Để có thêm
Thepgresult
Cấu trúclibpqlập trình viên ứng dụng nên cẩn thậnpgresultTrừu tượng. Sử dụng kèo bóng đá pháp chức năng truy cập bên dưới để có đượcpgresult. Tránh xaPGRESULTcấu trúc vì chúng là chủ thểkèo bóng đá pháp6.4, định nghĩa củastruct pgresultthậm chí kèo bóng đá pháp được cung cấp tronglibpq-fe.h. Nếu bạn có mã cũpgresultTrường trực tiếp,libpq-int.hquá, nhưng bạn được khuyến khích sửa chữa
PQResultstatus
Trả về
12652_12706
PQResultstatus
Có thể trả lại
pgres_empty_query- The
PGRES_COMMAND_OK-
PGRES_TUDS_OK- The
PGRES_COPY_OUT- Sao chép ra
PGRES_COPY_IN- Sao chép vào
pgres_bad_response- The
PGRES_NONFATAL_ERROR
PGRES_FATAL_ERROR
Nếu trạng thái kết quả làPGRES_TUDS_OK, sau đó kèo bóng đá pháp thói quen được mô tảPGRES_TUDS_OK.PGRES_COMMAND_OKlà cho kèo bóng đá pháp lệnh có thểpgres_empty_querythường phơi bày a
pqresstatus
Chuyển đổiPQResultstatus
thành hằng số chuỗi
char *pqresstatus (trạng thái execstatusType);
pqresulterrormessage
Trả về thông báo lỗi được liên kết với truy vấn hoặc một
char *pqresulterrormessage (const pgresult *res);
ngay sau APQEXEC
hoặcPQGetResult
CALL,pqerrormessage
(trên kết nối) sẽpqresulterrormessage
(về kết quả).pgresultsẽ giữ lạipqresulterrormessage
Khi bạn muốnpgresult; sử dụngpqerrormessage
Khi bạn muốn biết
PQClear
giải phóng bộ lưu trữpgresult.PQClear
Khi nó kèo bóng đá pháp còn cần thiết nữa.
VOID PQCLEAR (pqresult *res);
Bạn có thể giữpgresultĐối tượng xung quanh miễn là bạn cần nó; nó kèo bóng đá pháp điPQClear
. kèo bóng đá pháp làm điều này sẽ kết quả
PQMakeMpTypgresult
Xây dựng trốngPGRESULTĐối tượng có trạng thái đã cho.
16967_17038
Đây làlibpq'spgresultĐối tượng. Nó được xuất khẩuConn
kèo bóng đá pháppgresult.Lưu ý rằngPQClear
Cuối cùng nên được gọipgresultĐược trả về bởilibpqchính nó.
pqescapestringConn
thoát apqescapestringConn
Thực hiện thao tác này.
Tip:Điều đặc biệt quan trọng là phải làm đúng"SQLkèo bóng đá pháp cuộc tấn công trong đó kèo bóng đá pháp lệnh SQL không mong muốn là
size_t pqescapestringconn (pgconn *Conn,
pqescapestringConn
Viết mộttừ
chuỗi thànhđến
bộ đệm,kèo bóng đá phápChuỗitừ
chỉ vàolength
Tham số cholength
. (Nếu tìm thấy một byte chấm dứt bằng kèo bóng đá pháplength
Byte làpqescapestringConn
dừng ở số 0; Hành vi như vậy giống nhưstrncpy
.)đến
sẽ chỉ vào bộ đệm có khả kèo bóng đá phápLEGN
, nếu kèo bóng đá pháp thì hành viđến
vàtừ
Chuỗi chồng chéo.
NếuERROR
tham số thì kèo bóng đá pháp*Lỗiđược đặt thành 0 trênConn
Đối tượng, có hay kèo bóng đá phápERROR
là null.
pqescapestringConn
Trả vềđến
,,
size_t pqescapestring (char *to, const char *từ, size_t length);
pqescapestring
pqescapestringConn
; Sự khác biệt là nóConn
hoặcERROR
tham số. VìNó có thể cho sai. Ngoài ra, nó kèo bóng đá pháp có cách nào để báo cáo lỗi
pqescapestring
có thể được sử dụngkèo bóng đá phápKết nối tại a"Phía sau hậu trường"). Trong khácpqescapestringConn
.
pqescapyteaconn
thoát dữ liệu nhị phân để sử dụng trong kèo bóng đá pháp SQL với kèo bóng đá pháp SQL vớibytea.
Char kèo bóng đá pháp dấu *pqescapyteaconn (PGConn *Conn,
Giá trị byte nhất địnhphảiđược thoát ra (nhưng tất cảCANđược thoát) khi được sử dụng như một phần củabyteanghĩa đen trong mộtSQLTuyên bố. Nói chung, để trốn thoát') và Backslash (\) kèo bóng đá pháp ký tự có sự thay thế đặc biệtpqescapyteaconn
Thực hiện điều này
Thetừ
Tham sốfrom_length
Tham số cho sốto_length
tham số trỏ đến a
pqescapyteaconn
Trả về phiên bản thoát củatừ
Chuỗi nhị phân tham số trong bộ nhớmalloc ()
.free ()
Khi kết quả kèo bóng đá pháp còn nữakèo bóng đá phápChuỗibyteaĐầu vàokèo bóng đá phápChuỗi chữ kèo bóng đá pháp
Khi lỗi, một con trỏ null được trả về và mộtConn
Đối tượng. Hiện tại, duy nhất
pqescapytea
pqescapytea
là mộtpqescapyteaconn
.
Char kèo bóng đá pháp dấu *pqescapytea (char kèo bóng đá pháp dấu *từ,
Sự khác biệt duy nhất so vớipqescapyteaconn
làpqescapytea
kèo bóng đá pháp lấyPGConnTham số. VìNó có thể cho sai. Ngoài ra, nó kèo bóng đá pháp có cách nào để trả về một lỗi
pqescapytea
có thểkèo bóng đá phápKết nối tại một thời điểm (trong trường hợp này nó có thể tìm ra những gì"Phía sau). Trong kèo bóng đá pháp bối cảnh khác, nó là một bảo mậtpqescapyteaconn
.
PQUNESCAPHERTEA
Chuyển đổi biểu diễn chuỗi dữ liệu nhị phân thànhpqescapytea
. Điều này là cần thiết khibyteaDữ liệu trong văn bản
27883_27958
Thetừ
Tham sốPQGetValue
Khi áp dụng chobyteacột.PQUNESCAPHERTEA
Chuyển đổi chuỗi nàymalloc ()
hoặc null khi lỗi và đặtto_length
. Kết quả phải được giải phóngfree ()
Khi nó kèo bóng đá pháp
Chuyển đổi này kèo bóng đá pháp chính xác là nghịch đảo củapqescapytea
, vì"Escaped"Khi nhận được từPQGetValue
. Đặc biệt điều này có nghĩa làPGConntham số.
PQNTUMPLES
Trả về
int pqntuples (const pgresult *res);
PQNFields
Trả về
int pqnfields (const pgresult *res);
PQFNAME
Trả về trường
Char *pqfname (const pgresult *res,
PQFNumber
Trả về
int pqfnumber (const pgresult *res,
-1 được trả về nếu tên đã cho kèo bóng đá pháp khớp với bất kỳ
PQFTYPE
Trả về trường
oid pqfttype (const pgresult *res,
Bạn có thể truy vấn bảng hệ thốngPG_TYPEĐể có được tên và thuộc tính củaoidS của kèo bóng đá pháp loại dữ liệu tích hợp làsrc/bao gồm/catalog/pg_type.hTrong nguồn
PQFMOD
Trả về
int pqfmod (const pgresult *res,
pqfsize
Trả về kích thước
int pqfsize (const pgresult *res,
pqfsize
Trả về kèo bóng đá pháp gian
PQBinaryTuples
Trả về 1pgresultChứa nhị phân
int pqbinarytuples (const pgresult *res);
Hiện tại, dữ liệu Tuple nhị phân chỉ có thể được trả về bởi A
PQGetValue
Trả về aPGRESULT. Tuple và lĩnh vực
Char * pqgetValue (const pgresult * res,
Đối với hầu hết kèo bóng đá pháp truy vấn, giá trị được trả về bởiPQGetValue
là một ký tự kết thúc kèo bóng đá pháppqbinarytuples ()
là 1, ThePQGetValue
là biểu diễn nhị phân của loại trong nội bộPQGetValue
Điểm để lưu trữ là một phầnPGRESULTCấu trúc. MộtpgresultCấu trúc chính nó.
PQGetisNull
Kiểm tra một trường
int pqgetisnull (const pgresult *res,
Hàm này trả về 1 nếu trường chứa null, 0PQGetValue
Sẽ trả về một chuỗi trống,
PQGetLpm
Trả về
int pqetlength (const pgresult *res,
Đây là độ dài dữ liệu thực tế cho dữ liệu cụ thểPQGetValue
. Lưu ý rằng chopqfsize
.
PQPrint
In ra tất cả
void pqprint (tệp* fout, /* luồng đầu ra* /Bảng ...*//Chú thích*//
Hàm này trước đây được sử dụng bởiPSQLĐể in kết quả truy vấn, nhưng điều này
PQCMDSTATUS
Trả vềPGRESULT.
char * pqcmdstatus (pgresult * res);
PQCMDTUMPLES
Trả về
char * pqcmdtuples (pgresult * res);
NếuSQLkèo bóng đá phápPGRESULTwas
PQOIDVALUE
Trả vềSQLkèo bóng đá pháp là một chèn chènkèo bóng đá pháp hợp lệ.
oid pqoidValue (const pgresult *res);
Loạioidvà hằng sốkèo bóng đá pháp hợp lệsẽ được xác định nếu bạnlibpqTiêu đề
PQOIDSTATUS
Trả về aSQLkèo bóng đá pháp là một0Nếu
char * pqoidstatus (const pgresult * res);
Chức năng này kèo bóng đá pháp được ủng hộPQOIDVALUE
và kèo bóng đá pháp an toàn cho chủ đề.