Một khi kết nối với máy chủ cơ sở dữ liệu đã thành công được thiết lập, các chức năng được mô tả ở đây được sử dụng để thực hiện SQL Truy vấn và cách đọc kèo bóng đá.
PQEXEC
Gửi cách đọc kèo bóng đá cho
máy chủ và chờ kết quả.
PGRESULT *PQEXEC (PGCONN *Conn, const char *truy vấn);
Trả về ApgresultCon trỏ
hoặc có thể là một con trỏ null. Một con trỏ không null sẽ
thường được trả lại ngoại trừ trong các điều kiện ngoài bộ nhớ hoặc
các lỗi nghiêm trọng như không có khả năng gửi cách đọc kèo bóng đá đến
phụ trợ. Nếu một null được trả lại, nó sẽ được đối xử nhưpgres_fatal_errorKết quả. Sử dụngpqerrormessage
Để có thêm
thông tin về lỗi.
Thepgresult
Cấu trúc
Đóng gói kết quả được trả về bởi phần phụ trợ.libpqlập trình viên ứng dụng nên cẩn thận
Để duy trìpgresultTrừu tượng. Sử dụng cách đọc kèo bóng đá chức năng truy cập bên dưới để có được
Nội dung củapgresult. Tránh xa
trực tiếp tham khảo cách đọc kèo bóng đá trường củapgresultCấu trúc vì chúng là chủ thể
để thay đổi trong tương lai. (Bắt đầu trongcách đọc kèo bóng đá6.4, định nghĩa của structpgresultthậm chí cách đọc kèo bóng đá được cung cấp tronglibpq-fe.h. Nếu bạn có mã cũ
Truy cậppgresultTrường trực tiếp,
Bạn có thể tiếp tục sử dụng nó bằng cách bao gồmlibpq-int.hquá, nhưng bạn được khuyến khích sửa chữa
mã sớm.)
PQResultstatus
Trả về
Trạng thái kết quả của cách đọc kèo bóng đá.
12928_12982
PQResultstatus
Có thể trả lại
Một trong cách đọc kèo bóng đá giá trị sau:
pgres_empty_query- The Chuỗi được gửi đến phần phụ trợ trống.
PGRES_COMMAND_OK- Hoàn thành thành công cách đọc kèo bóng đá trả lại không Dữ liệu
PGRES_TUDS_OK- The Truy vấn đã thực hiện thành công
PGRES_COPY_OUT- Sao chép ra (từ máy chủ) bắt đầu truyền dữ liệu
PGRES_COPY_IN- Sao chép vào (đến máy chủ) bắt đầu truyền dữ liệu
pgres_bad_response- The Phản hồi của máy chủ cách đọc kèo bóng đá được hiểu
PGRES_NONFATAL_ERROR
PGRES_FATAL_ERROR
Nếu trạng thái kết quả làPGRES_TUDS_OK, sau đó các thói quen được mô tả bên dưới có thể được sử dụng để truy xuất các hàng được trả về bởi truy vấn. Lưu ý rằng một cách đọc kèo bóng đá chọn xảy ra để truy xuất hàng không hiển thịPGRES_TUDS_OK. PGRES_COMMAND_OKdành cho các cách đọc kèo bóng đá có thể Không bao giờ trả lại hàng (chèn, cập nhật, v.v.). Một phản hồi củapgres_empty_querythường phơi bày a Lỗi trong phần mềm máy khách.
pqresstatus
Chuyển đổi
Loại được liệt kê được pqresultatus trả lại vào cách đọc kèo bóng đá chuỗi
Mô tả liên tục mã trạng thá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
Chuỗi trống nếu cách đọc kèo bóng đá có lỗi.
char *pqresulterrormessage (const pgresult *res);
ngay sau APQEXEC
hoặcPQGetResult
CALL,pqerrormessage
(trên kết nối) sẽ
Trả về cùng cách đọc kèo bóng đá chuỗi vớipqresulterrormessage
(về kết quả).
Tuy nhiên, Apgresultsẽ giữ lại
thông báo lỗi của nó cho đến khi bị phá hủy, trong khi kết nối
Thông báo lỗi sẽ thay đổi khi cách đọc kèo bóng đá hoạt động tiếp theo là
xong. Sử dụngpqresulterrormessage
Khi bạn muốn
Biết trạng thái được liên kết với cách đọc kèo bóng đá cụ thểpgresult; sử dụngpqerrormessage
Khi bạn muốn biết
trạng thái từ thao tác mới nhất trên kết nối.
PQClear
Giải phóng bộ lưu trữ
được liên kết vớiPGRESULT.
Mọi kết quả truy vấn nên được giải phóng quaPQClear
Khi nó cách đọc kèo bóng đá 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ó cách đọc kèo bóng đá đi
đi khi bạn phát hành một truy vấn mới, cũng như ngay cả khi bạn đóng
sự liên quan. Để thoát khỏi nó, bạn phải gọiPQClear
. cách đọc kèo bóng đá làm điều này sẽ kết quả
trong rò rỉ bộ nhớ trong ứng dụng Frontend.
PQMakeMpTypgresult
Xây dựng trốngpgresultĐối tượng có trạng thái đã cho.
17204_17275
Đây làlibpq's
thói quen nội bộ để phân bổ và khởi tạo cách đọc kèo bóng đá trốngpgresultĐối tượng. Nó được xuất khẩu
bởi vì cách đọc kèo bóng đá số ứng dụng thấy nó hữu ích để tạo kết quả
Đối tượng (đặc biệt là đối tượng có trạng thái lỗi)
chính họ. Nếu nhưConn
cách đọc kèo bóng đá
Null và trạng thái cho biết lỗi, kết nối
errorMessage hiện tại được sao chép vàopgresult.Lưu ý rằngPQClear
Cuối cùng nên được gọi
đối tượng, giống như vớiPGRESULTĐược trả về bởilibpqchính nó.
pqescapestring
thoát a
Chuỗi để sử dụng trong truy vấn SQL.
size_t pqescapestring (char *to, const char *từ, size_t length);
Nếu bạn muốn bao gồm các chuỗi đã được nhận từ một nguồn cách đọc kèo bóng đá đáng tin cậy (ví dụ, vì một ngẫu nhiên Người dùng đã nhập chúng), bạn cách đọc kèo bóng đá thể đưa chúng trực tiếp vào SQL Truy vấn vì lý do bảo mật. Thay vào đó, bạn phải trích dẫn Các nhân vật đặc biệt được SQL giải thích khác trình phân tích cú pháp.
pqescapestring
Thực hiện điều này
hoạt động. Thetừ
Điểm đến
nhân vật đầu tiên của chuỗi được thoát ra, và
TheLEGN
tham số đếm
Số lượng ký tự trong chuỗi này (một byte kết thúc bằng cách đọc kèo bóng đá
cách đọc kèo bóng đá cần thiết cũng cách đọc kèo bóng đá được tính).đến
sẽ chỉ vào cách đọc kèo bóng đá bộ đệm có khả năng
giữ ít nhất cách đọc kèo bóng đá ký tự hơn gấp đôi giá trị củaLEGN
, nếu cách đọc kèo bóng đá thì hành vi
là cách đọc kèo bóng đá xác định. Một cuộc gọi đếnpqescapestring
Viết phiên bản thoát của
Thetừ
chuỗi thànhđến
Buffer, thay thế đặc biệt
ký tự để chúng cách đọc kèo bóng đá thể gây ra bất kỳ tác hại nào và thêm một
Chấm dứt byte 0. Các trích dẫn đơn phải bao quanhcách đọc kèo bóng đáChuỗi nghĩa đen là
cách đọc kèo bóng đá phải là một phần của chuỗi kết quả.
pqescapestring
Trả về
Số lượng ký tự được viết thànhđến
, cách đọc kèo bóng đá bao gồm việc chấm dứt byte.
Hành vi cách đọc kèo bóng đá được xác định khiđến
vàtừ
Chuỗi chồng chéo.
pqescapytea
Thoát khỏi nhị phân
sợi dây (byteaLoại) để sử dụng trong SQL
Truy vấn.
Char cách đọc kèo bóng đá dấu *pqescapytea (Char cách đọc kèo bóng đá dấu *từ, size_t from_length, size_t *to_length);
chắc chắnASCIIký tựphảiđược thoát ra (nhưng
Tất cả cách đọc kèo bóng đá ký tựcó thểBE
thoát ra) khi được sử dụng như cách đọc kèo bóng đá phần củabyteaChuỗi theo nghĩa đen trong cách đọc kèo bóng đáSQLTuyên bố. Nói chung, để thoát khỏi cách đọc kèo bóng đá nhân vật, nó được chuyển đổi
vào số ba chữ số bằng số thập phânASCIIGiá trị và trước
hai dấu gạch chéo ngược. Trích dẫn đơn (') và Backslash (\)
cách đọc kèo bóng đá nhân vật có trình tự thoát hiểm thay thế đặc biệt. XemHướng dẫn sử dụngĐể biết thêm thông tin.pqescapytea
Thực hiện điều này
Hoạt động, chỉ thoát cách đọc kèo bóng đá ký tự được yêu cầu tối thiểu.
Thetừ
tham số chỉ vào
nhân vật đầu tiên của chuỗi được thoát ra, và
Thefrom_length
Tham số
phản ánh số lượng ký tự trong chuỗi nhị phân này (a
Chấm dứt byte 0 là cách đọc kèo bóng đá cần thiết cũng như cách đọc kèo bóng đá được tính). Theto_length
Tham số sẽ chỉ ra
Để một bộ đệm phù hợp để giữ chuỗi thoát ra kết quả
chiều dài. Độ dài chuỗi kết quả cách đọc kèo bóng đá bao gồm
chấm dứt byte bằng cách đọc kèo bóng đá của kết quả.
pqescapytea
Trả về an
Phiên bản thoát củatừ
Chuỗi nhị phân tham số, đến bộ đệm do người gọi cung cấp. Các
Chuỗi trả về có tất cả các ký tự đặc biệt được thay thế để chúng
có thể được xử lý đúng cách theo nghĩa đen của chuỗi cách đọc kèo bóng đá
trình phân tích cú pháp vàbyteaHàm đầu vào. MỘT
Chấm dứt byte 0 cũng được thêm vào. Các trích dẫn duy nhất
phải bao quanh các chuỗi chuỗi cách đọc kèo bóng đá không phải là một phần của
chuỗi kết quả.
PQNTUMPLES
Trả về
Số lượng bộ dữ liệu (hàng) trong kết quả truy vấn.
int pqntuples (const pgresult *res);
PQNFields
Trả về
Số trường (cột) trong mỗi hàng của truy vấn
kết quả.
int pqnfields (const pgresult *res);
PQFNAME
Trả về trường
(cột) Tên được liên kết với chỉ mục trường đã cho. Cánh đồng
Chỉ số bắt đầu ở 0.
Char *pqfname (const pgresult *res, int field_index);
PQFNumber
Trả về
Chỉ mục trường (cột) được liên kết với trường đã cho
tên.
int pqfnumber (const pgresult *res, const char *field_name);
-1 được trả về nếu tên đã cho cách đọc kèo bóng đá khớp với bất kỳ cánh đồng.
PQFTYPE
Trả về trường
Loại liên kết với chỉ số trường đã cho. Số nguyên
Trả lại là cách đọc kèo bóng đá mã hóa nội bộ của loại. Chỉ số hiện trường
Bắt đầu ở 0.
oid pqfttype (const pgresult *res, int field_index);
Bạn có thể truy vấn bảng hệ thốngPG_TYPEĐể có được tên và thuộc tính của cách đọc kèo bóng đá loại dữ liệu khác nhau. TheoidS của cách đọc kèo bóng đá loại dữ liệu tích hợp là được xác định trongsrc/bao gồm/catalog/pg_type.hTrong nguồn cây.
PQFMOD
Trả về
Dữ liệu sửa đổi cụ thể của trường được liên kết
với chỉ số trường đã cho. Chỉ số trường bắt đầu ở 0.
int pqfmod (const pgresult *res, int field_index);
pqfsize
Trả về kích thước
trong byte của trường liên kết với trường đã cho
chỉ mục. Chỉ số trường bắt đầu ở 0.
int pqfsize (const pgresult *res, int field_index);
pqfsize
Trả về cách đọc kèo bóng đá gian
được phân bổ cho trường này trong một bộ dữ liệu, trong khác
các từ kích thước của biểu diễn nhị phân của máy chủ của
Kiểu dữ liệu. -1 được trả về nếu trường là biến
kích cỡ.
PQBinaryTuples
Trả về 1
Nếu pgresult chứa dữ liệu tuple nhị phân, 0 nếu nó
chứa dữ liệu ASCII.
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 Truy vấn trích xuất dữ liệu từ con trỏ nhị phân.
PQGetValue
Trả về a
trường đơn (cột) giá trị của cách đọc kèo bóng đá tuple (hàng) của apgresult. Tuple và lĩnh vực
Chỉ số bắt đầu ở 0.
Char * pqgetValue (const pgresult * res, int tup_num, int field_num);
Đối với hầu hết cách đọc kèo bóng đá truy vấn, giá trị được trả về bởiPQGetValue
là một ký tự kết thúc cách đọc kèo bóng đá
Biểu diễn chuỗi của giá trị thuộc tính. Nhưng nếupqbinarytuples ()
là 1, The
Giá trị được trả về bởiPQGetValue
là biểu diễn nhị phân của loại trong nội bộ
Định dạng của máy chủ phụ trợ (nhưng cách đọc kèo bóng đá bao gồm kích thước
từ, nếu trường có độ dài thay đổi). Nó là
trách nhiệm của lập trình viên đối với việc đúc và chuyển đổi dữ liệu thành
loại C chính xác. Con trỏ được trả về bởiPQGetValue
Điểm để lưu trữ là cách đọc kèo bóng đá phần
củapgresultCấu trúc. Một
cách đọc kèo bóng đá nên sửa đổi nó và người ta phải sao chép rõ ràng
giá trị vào lưu trữ khác nếu nó được sử dụng qua
trọn đời củapgresultCấu trúc chính nó.
PQGetisNull
Kiểm tra cách đọc kèo bóng đá trường
cho cách đọc kèo bóng đá mục nhập null. Chỉ số trường và trường bắt đầu ở 0.
int pqgetisnull (const pgresult *res, int tup_num, int field_num);
Hàm này trả về 1 nếu trường chứa null, 0
Nếu nó chứa một giá trị cách đọc kèo bóng đá null. (Lưu ý rằngPQGetValue
Sẽ trả về một chuỗi trống,
cách đọc kèo bóng đá phải là một con trỏ null, cho một trường null.)
PQGetLpm
Trả về
Độ dài của cách đọc kèo bóng đá trường (thuộc tính) giá trị trong byte. Tuple và
Chỉ số trường bắt đầu ở 0.
int PQGetLpm (const pgresult *res, int tup_num, int field_num);
Đây là độ dài dữ liệu thực tế cho dữ liệu cụ thể
giá trị, đó là kích thước của đối tượng được trỏ bởiPQGetValue
. Lưu ý rằng cho
giá trị đại diện cho ký tự, kích thước này ít phải làm
với kích thước nhị phân được báo cáo bởipqfsize
.
PQPrint
In ra tất cả
Tuples và, tùy chọn, tên thuộc tính của
luồng đầu ra được chỉ định.
void pqprint (tệp* fout, /* luồng đầu ra* / const pgresult *res, const pqprintopt *po); struct Tiêu đề PQBool; / * In cách đọc kèo bóng đá tiêu đề trường đầu ra và số lượng hàng */ PQBool căn chỉnh; / * Điền vào căn chỉnh cách đọc kèo bóng đá trường */ Tiêu chuẩn PQBool; / * Định dạng chết não cũ */ PQBool HTML3; / * cách đọc kèo bóng đá bảng HTML đầu ra */ PQBool mở rộng; / * mở rộng bảng */ PQBool PAGER; / * Sử dụng máy nhắn tin cho đầu ra nếu cần */ char *fieldsep; / * phân tách trường */ Char *TableOpt; /* chèn vào htmlBảng ...*// Char *chú thích; /* HtmlChú thích*// char ** tên trường; / * null chấm dứt mảng tên trường thay thế *// Pqprintopt;
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 cách đọc kèo bóng đá còn là trường hợp và chức năng này cách đọc kèo bóng đá còn nữa được hỗ trợ tích cực.
PQCMDSTATUS
Trả về
Chuỗi trạng thái cách đọc kèo bóng đá từ cách đọc kèo bóng đá SQL được tạo
ThePGRESULT.
char * pqcmdstatus (const pgresult * res);
PQCMDTUMPLES
Trả về
Số lượng hàng bị ảnh hưởng bởi cách đọc kèo bóng đá SQL.
char * pqcmdtuples (const pgresult * res);
NếuSQLcách đọc kèo bóng đá đã tạo rapgresultwas Chèn, cập nhật hoặc xóa, điều này trả về một chuỗi chứa số lượng hàng bị ảnh hưởng. Nếu cách đọc kèo bóng đá là bất cứ điều gì khác, nó trả về chuỗi trống.
PQOIDVALUE
Trả về
ID đối tượng của hàng được chèn, nếuSQLcách đọc kèo bóng đá là một chèn chèn
Chính xác một hàng vào một bảng có OID. Nếu không thì,
trả vềcách đọc kèo bóng đá hợp lệ.
oid pqoidValue (const pgresult *res);
Loạioidvà hằng sốcách đọc kèo bóng đá hợp lệsẽ được xác định nếu bạn Bao gồmlibpqTiêu đề tài liệu. Cả hai sẽ là cách đọc kèo bóng đá loại số nguyên.
PQOIDSTATUS
Trả về a
Chuỗi có ID đối tượng của hàng được chèn, nếuSQLcách đọc kèo bóng đá là một
CHÈN. (Chuỗi sẽ là0Nếu
Chèn không chèn chính xác một hàng hoặc nếu mục tiêu
Bảng không có OIDS.) Nếu cách đọc kèo bóng đá không phải là
Chèn, trả về một chuỗi trống.
char * pqoidstatus (const pgresult * res);
Hàm này cách đọc kèo bóng đá được ủng hộPQOIDVALUE
và cách đọc kèo bóng đá an toàn.