kèo bóng đá cúp c2 | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 27.libpq- C Thư viện | Chuyển tiếp nhanh | NEXT |
Một khi kết nối với máy chủ cơ sở dữ kèo bóng đá cúp c2 đã thành công
Nó được phép bao gồm nhiều kèo bóng đá cúp c2 SQL (được phân tách bằngPQEXEC
cuộc gọi được xử lýBắt đầu/cam kếtkèo bóng đá cúp c2pgresultCấu trúc chỉ mô tả kết quảPGRESULTmô tả
PQExecParams
gửi kèo bóng đá cúp c2 lên máy chủ và chờ đợi
PGRESULT *PQEXECPARAMS (PGConn *Conn,
PQExecParams
giống nhưPQEXEC
, nhưng cung cấpPQExecparams
IS
Nếu các tham số được sử dụng, chúng được đề cập trong$ 1, $ 2, v.v.nparamslà số lượng tham sốparamtypes [], paramValues [], paramlengths []vàparamformats []. (Con trỏ mảng có thểnullKhiNPARAMSbằng kèo bóng đá cúp c2.)paramtypes []Chỉ định, bởi OID, dữ kèo bóng đá cúp c2paramtypeslànullhoặc bất kỳ yếu tố cụ thể nào trongparamValues []Chỉ định kèo bóng đá cúp c2 tếparamlengths []Chỉ định dữ liệu kèo bóng đá cúp c2 tếparamformats []Chỉ địnhresultFormatbằng kèo bóng đá cúp c2 để có được
Ưu điểm chính củaPQExecParams
OverPQEXEC
Có thể là các giá trị tham sốPQEXEC
, PQExecparams
Cho phép nhiều nhất một kèo bóng đá cúp c2 SQL
PQPrepare
Đệ trình yêu cầu tạo một câu kèo bóng đá cúp c2 đã chuẩn bị với
pgresult *pqprepare (pgconn *Conn,
PQPrepare
Tạo aPQEXECPREPARED
. Tính năng này cho phépPQPrepare
IS
Hàm tạo ra một câu kèo bóng đá cúp c2 đã chuẩn bị có tênstmtnametừTruy vấnchuỗi, phải chứa kèo bóng đá cúp c2stmtnamecó thể là""Để tạo ra kèo bóng đá cúp c2$ 1, $ 2, v.v.NPARAMSlà số lượng tham số choparamtypes []. (Con trỏ mảng có thể lànullKhiNPARAMSbằng kèo bóng đá cúp c2.)paramtypes []Chỉ định, bởi OID, dữ kèo bóng đá cúp c2paramtypeslànullhoặc bất kỳ yếu tố cụ thể nào trongnparams; Các loại dữ kèo bóng đá cúp c2 sẽ được suy ra cho
như vớiPQEXEC
, Thepgresultđối tượng có nội dung biểu thị thành công phía máy chủ hoặcpqerrormessage
Để biết thêm thông tin
Hiện tại, không có cách nào để xác định kèo bóng đá cúp c2 tếparamtypes [].libpqkèo bóng đá cúp c2ếu sót
Câu kèo bóng đá cúp c2 được chuẩn bị để sử dụng vớiPQEXECPREPARED
cũng có thể được tạo bởiChuẩn bịCâu kèo bóng đá cúp c2. (NhưngPQPrepare
libpqHàm để xóa câu kèo bóng đá cúp c2 đã chuẩn bị, SQLDealLocateCâu kèo bóng đá cúp c2 có thể được sử dụng cho điều đó
ThepgresultCấu trúc đóng gói kết quả được trả vềlibpqLập trình viên ứng dụng nên cẩn thận để duy trìpgresultTrừu tượng. Sử dụngPGRESULT. Tránh trực tiếp tham khảoPGRESULT23082_23148
PQResultstatus
Trả về trạng thái kết quả của kèo bóng đá cúp c2.
23407_23462
PQResultstatus
Có thể
Chuỗi được gửi đến máy chủ trống.
Hoàn thành thành công kèo bóng đá cúp c2 trả về không
Hoàn thành thành công một kèo bóng đá cúp c2 quay lạiChọnhoặcshow).
Sao chép (từ máy chủ) Truyền dữ kèo bóng đá cúp c2
Sao chép (vào máy chủ) bắt đầu truyền dữ kèo bóng đá cúp c2.
Phản hồi của máy chủ kèo bóng đá cúp c2 được hiểu.
Một lỗi kèo bóng đá cúp c2 sinh (thông báo hoặc cảnh báo)
Đã xảy ra lỗi nghiêm trọng.
Nếu trạng thái kết quả làPGRES_TUDS_OK, sau đó các chức năngChọnkèo bóng đá cúp c2 xảy ra để truy xuất các hàng không vẫn hiển thịPGRES_TUDS_OK. PGRES_COMMAND_OKlà cho các kèo bóng đá cúp c2 có thểChèn, Cập nhật, v.v.). kèo bóng đá cúp c2 phản hồi củapgres_empty_querycó thể chỉ ra a
Kết quả của trạng tháiPGRES_NONFATAL_ERRORSẽ kèo bóng đá cúp c2 bao giờ được trả lạiPQEXEC
hoặc khácPhần 27.10).
pqresstatus
Chuyển đổi loại được liệt kê được trả về bở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 kèo bóng đá cúp c2,
char *pqresulterrormessage (const pgresult *res);
Nếu có lỗi, chuỗi được trả về sẽpgresultXử lý được chuyển choPQClear
.
Ngay sau APQEXEC
hoặcPQGetResult
CALL,pqerrormessage
(trên kết nối) sẽpqresulterrormessage
(kết quả).PGRESULTWillpqresulterrormessage
Khi bạn muốnpgresult; sử dụngpqerrormessage
Khi bạn muốn biết
pqresulterrorfield
Trả về kèo bóng đá cúp c2 trường riêng lẻ của báo cáo lỗi.
Char *pqresulterrorfield (const pgresult *res, int fieldCode);
FieldCodelà trường lỗinullđược trả về nếuPGRESULTkèo bóng đá cúp c2 phải là lỗi hoặc cảnh báoPGRESULTXử lý được chuyển choPQClear
.
Mã trường sau đây có sẵn:
Mức độ nghiêm trọng; Nội dung trường làERROR, FatalhoặcPanic(trong kèo bóng đá cúp c2 thông báo lỗi) hoặcCảnh báo, Thông báo, Debug, INFOhoặclog(trong kèo bóng đá cúp c2 thông báo thông báo) hoặc A
Mã SQLSTATE cho lỗi. SQLSTATEPhụ lục. Lĩnh vực này kèo bóng đá cúp c2 thể bản địa hóa, và luôn luôn
Thông báo lỗi có thể đọc được chính của con người
Chi tiết: Thông báo lỗi thứ cấp tùy chọn
Gợi ý: kèo bóng đá cúp c2 đề xuất tùy chọn phải làm gì
kèo bóng đá cúp c2 chuỗi chứa số nguyên thập phân cho biết
Điều này được xác định giống nhưpg_diag_statement_poseitionTrường, nhưngPG_DIAG_INTERNAL_QUERYTrường sẽ
Văn bản của kèo bóng đá cúp c2 lỗi được tạo ra trong nội bộ
kèo bóng đá cúp c2 dấu hiệu của bối cảnh trong đó lỗi
Tên tệp của vị trí mã nguồn nơi
Số dòng của vị trí mã nguồn
Tên của báo cáo chức năng mã nguồn
Khách hàng chịu trách nhiệm định dạng được hiển thị
Lỗi được tạo bên tronglibpqsẽ có mức độ nghiêm trọng và chính
Lưu ý rằng các trường lỗi chỉ khả dụng từpgresultĐối tượng, kèo bóng đá cúp c2PGConnĐối tượng; kèo bóng đá cúp c2 cópqerrorfield
chức năng.
PQClear
giải phóng bộ nhớ liên kết với APGRESULT. Mọi kết quả kèo bóng đá cúp c2 nênPQClear
Khi nào
VOID PQCLEAR (PGRESULT *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 đá cúp c2 điPQClear
. kèo bóng đá cúp c2 làm điều này
PQMakeMpTypgresult
Xây dựng trốngPGRESULTĐối tượng có giá trị đã cho
36079_36150
Đây làlibpq'spgresultĐối tượng. Nó làConnISstatuschỉ rapgresult. Lưu ý rằngPQClear
Cuối cùng nên được gọipgresultĐược trả về bởilibpqchính nó.
Các chức năng này được sử dụng để trích xuất thông tin từ APGRESULTđối tượng đại diện cho aPGRES_TUDS_OK). Cho các đối tượng với
PQNTUMPLES
Trả về số lượng hàng (tổng) trong truy vấn
int pqntuples (const pgresult *res);
PQNFields
Trả về số lượng cột (trường) trong mỗi hàng của
int pqnfields (const pgresult *res);
PQFNAME
Trả về tên cột được liên kết với chữ cái đã chopgresultTay cầm được chuyển choPQClear
.
char *pqfname (const pgresult *res,
nullđược trả về nếu cột
PQFNumber
Trả về số cột được liên kết với số tiền đã cho
int pqfnumber (const pgresult *res,
-1 được trả về nếu tên đã cho kèo bóng đá cúp c2 khớp với bất kỳ
Tên đã cho được đối xử như kèo bóng đá cúp c2 định danh trong SQL
Chọn 1 làm foo, 2 là "Bar";
Chúng tôi sẽ có kết quả:
pqfname (res, 0)foopqfname (res, 1)Barpqfnumber (res, "foo")0pqfnumber (res, "foo")0pqfnumber (res, "thanh")-1pqfnumber (res, "\" bar \ "")1
pqftable
Trả về OID của bảng mà từ đó đã cho
oid pqftable (const pgresult *res,
kèo bóng đá cúp c2 hợp lệđược trả về nếupg_ classĐể xác định chính xác
Loạioidvà hằng sốkèo bóng đá cúp c2 hợp lệsẽ được xác định khilibpqTệp tiêu đề. Cả hai sẽ là kèo bóng đá cúp c2 loại số nguyên.
pqftablecol
Trả về số cột (trong bảng của nó) của
int pqftablecol (const pgresult *res,
Zero được trả về nếu số cột nằm ngoài phạm vi,
PQFFormat
Trả về mã định dạng biểu thị định dạng của
int pqfformat (const pgresult *res,
Mã định dạng Zero cho biết dữ kèo bóng đá cúp c2 văn bản
PQFTYPE
Trả về kiểu dữ kèo bóng đá cúp c2 được liên kết với cột đã cho
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ínhoidS của các loại dữ kèo bóng đá cúp c2 tích hợp làsrc/bao gồm/catalog/pg_type.hTrong
PQFMOD
Trả về bộ sửa đổi loại của cột được liên kết
int pqfmod (const pgresult *res,
Giải thích các giá trị sửa đổi là"kèo bóng đá cúp c2 có thông tin". Hầu hết dữ kèo bóng đá cúp c2
pqfsize
Trả về kích thước theo byte của cột được liên kết
int pqfsize (const pgresult *res,
pqfsize
Trả về
PQBinaryTuples
Trả về 1 nếuPGRESULTChứa dữ kèo bóng đá cúp c2 nhị phân và 0 nếu nó chứa dữ kèo bóng đá cúp c2 văn bản.
int pqbinarytuples (const pgresult *res);
Hàm này được kèo bóng đá cúp c2 dùng nữa (ngoại trừ việc sử dụng nó trongCopy), bởi vìpgresultĐể chứa dữ kèo bóng đá cúp c2 văn bản trong một sốPQFFormat
được ưu tiên.PQBinaryTuples
Chỉ trả lại 1 nếu tất cả
PQGetValue
Trả về kèo bóng đá cúp c2 giá trị trường duy nhất của kèo bóng đá cúp c2 hàng của Apgresult. Hàng và cộtPGRESULTXử lý được chuyển choPQClear
.
Char *pqgetValue (const pgresult *res,
Đối với dữ kèo bóng đá cúp c2 ở định dạng văn bản, giá trị được trả về bởiPQGetValue
là aTYPSEND
vàTyPreceive
chức năng. (Giá trị là
kèo bóng đá cúp c2 chuỗi trống được trả về nếu giá trị trường làPQGetisNull
đến
Con trỏ được trả về bởiPQGetValue
Điểm để lưu trữ đó làpgresultCấu trúc. Người ta không nên sửa đổi dữ kèo bóng đá cúp c2 mà nó trỏ đến,PGRESULTCấu trúc chính nó.
PQGetIsNull
Kiểm tra kèo bóng đá cúp c2 trường cho giá trị null. Các số hàng và cột
int pqgetisnull (const pgresult *res,
Hàm này trả về 1 nếu trường là null và 0 nếuPQGetValue
Sẽ trả về kèo bóng đá cúp c2 chuỗi trống,
PQGetLpm
Trả về độ dài kèo bóng đá cúp c2 tế của giá trị trường tính bằng byte.
int PQGetLpm (const pgresult *res,
Đây là độ dài dữ liệu kèo bóng đá cúp c2 tế cho dữ liệu cụ thểPQGetValue
. Cho dữ kèo bóng đá cúp c2 văn bảnstrlen ()
. Đối với định dạng nhị phân này làkèo bóng đá cúp c2dựa vàopqfsize
Để có được dữ liệu kèo bóng đá cúp c2 tế
PQPrint
In ra tất cả các hàng và, tùy chọn, cột
VOID PQPRINT (FILE *FOUT, / *luồng đầu ra * /
Hàm này trước đây được sử dụng bởiPSQLĐể in kết quả truy vấn, nhưng
Các chức năng này được sử dụng để trích xuất thông tin từpgresultđối tượng kèo bóng đá cúp c2 phảiChọnKết quả.
PQCMDSTATUS
Trả về thẻ trạng thái kèo bóng đá cúp c2 từ kèo bóng đá cúp c2 SQLpgresult.
char *pqcmdstatus (pgresult *res);
Thông thường đây chỉ là tên của kèo bóng đá cúp c2, nhưng nópgresultXử lý được chuyển choPQClear
.
PQCMDTUMPLES
Trả về số lượng hàng bị ảnh hưởng bởi SQL
char *pqcmdtuples (pgresult *res);
Hàm này trả về kèo bóng đá cúp c2 chuỗi chứa sốSQLcâu kèo bóng đá cúp c2 đã tạoPGRESULT. Chức năng này có thểChèn, Cập nhật,
Xóa, Di chuyểnhoặcFetchcâu kèo bóng đá cúp c2 hoặc mộtkèo bóng đá cúp c2 thicủa aChèn, Cập nhật,,XóaTuyên bố. NếuPGRESULTlà bất cứ điều gì khác,PQCMDTUMPLES
Trả vềpgresultXử lý được chuyển choPQClear
.
PQOIDVALUE
Trả về OIDcủa hàng được chèn, nếuSQLkèo bóng đá cúp c2 làChènChèn chính xác kèo bóng đá cúp c2 hàng vàokèo bóng đá cúp c2 thicủa kèo bóng đá cúp c2 truy vấn đã chuẩn bị có chứaChènTuyên bố.kèo bóng đá cúp c2 hợp lệ. Chức năng này cũng sẽ trở lạikèo bóng đá cúp c2 hợp lệNếu bảng bị ảnh hưởngChènCâu kèo bóng đá cúp c2 không
oid pqoidValue (const pgresult *res);
PQOIDSTATUS
Trả về kèo bóng đá cúp c2 chuỗi với oid của hàng được chèn, nếuSQLkèo bóng đá cúp c2 làChènđã chèn chính xác kèo bóng đá cúp c2kèo bóng đá cúp c2 thicủa kèo bóng đá cúp c2 người chuẩn bịChèn. (Chuỗi sẽ là0NếuChènkèo bóng đá cúp c2 chèn chính xác một hàng hoặc nếu bảng đíchChèn, trả về kèo bóng đá cúp c2 chuỗi trống.
Char *pqoidstatus (const pgresult *res);
Hàm này kèo bóng đá cúp c2 được ủng hộPQOIDVALUE
. Nó kèo bóng đá cúp c2 an toàn.
pqescapestringConn
thoát apqescapestringConn
kèo bóng đá cúp c2 hiện thao tác này.
Tip:Điều đặc biệt quan trọng là phải làm đúng"SQLCác cuộc tấn công trong đó các kèo bóng đá cúp c2 SQL không mong muốn là
Lưu ý rằng không cần thiết cũng không đúng để kèo bóng đá cúp c2 hiện thoát khỏiPQExecparams
hoặc anh chị em của nó
size_t pqescapestringconn (pgconn *Conn,
pqescapestringConn
Viết kèo bóng đá cúp c2từChuỗiđếnBuffer, Escaping Đặc biệtkèo bóng đá cúp c2Chuỗi nghĩa đen làtừchỉ vào ký tự đầu tiênLEGNTham số cung cấp số lượng byte trongLEGN. (Nếu nhưlengthbyte được xử lý,pqescapestringConn
dừng ở số 0; cácstrncpy
.)đếnsẽLEGN,,đếnvàtừChuỗi chồng chéo.
NếuERRORtham số thì kèo bóng đá cúp c2*Lỗiđược đặt thành 0 trênConnĐối tượng, có hay kèo bóng đá cúp c2ERRORlà null.
pqescapestringConn
Trả vềđến, kèo bóng đá cúp c2
size_t pqescapestring (char *to, const char *từ, size_t length);
pqescapestring
pqescapestringConn
; Sự khác biệt là nóConnhoặcERRORtham số. Vì điều này, nó kèo bóng đá cúp c2 thểNó có thể cho kết quả sai.
pqescapestring
có thể được sử dụngkèo bóng đá cúp c2Kế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 đá cúp c2 SQL cóbytea. Như vớipqescapestringConn
, Đây là
Char kèo bóng đá cúp c2 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 ra) khi được sử dụng như kèo bóng đá cúp c2 phần củabyteatheo nghĩa đen trong kèo bóng đá cúp c2SQLTuyên bố. Nói chung, để trốn thoát') và Backslash (\) Các ký tự có sự thay thế đặc biệtPhần 8.4Để biết thêmpqescapyteaconn
kèo bóng đá cúp c2 hiện điều này
ThetừĐiểm tham sốfrom_lengthTham sốto_lengthĐiểm tham số
pqescapyteaconn
Trả về phiên bản thoát củatừChuỗi nhị phân tham số trong bộ nhớmalloc ()
.pqfreemem ()
Khi kết quả là kèo bóng đá cúp c2kèo bóng đá cúp c2Trình phân tích cú pháp theo nghĩa đen,byteaHàm đầu vào. MỘTkèo bóng đá cúp c2Chuỗi chữ kèo bóng đá cúp c2
Khi lỗi, kèo bóng đá cúp c2 con trỏ null được trả về và kèo bóng đá cúp c2ConnĐối tượng. Hiện tại, duy nhất
pqescapytea
pqescapytea
là kèo bóng đá cúp c2pqescapyteaconn
.
Char kèo bóng đá cúp c2 dấu *pqescapytea (const kèo bóng đá cúp c2 dấu char *từ,
Sự khác biệt duy nhất so vớipqescapyteaconn
làpqescapytea
kèo bóng đá cúp c2 lấyPGConnTham số. VìNó có thể cho sai. Ngoài ra, nó kèo bóng đá cúp c2 có cách nào để trả về một lỗi
pqescapytea
có thểkèo bóng đá cúp c2Kết nối tại kèo bóng đá cúp c2 thời điểm (trong trường hợp này nó có thể tìm ra những gì"Phía sau). Trong các bối cảnh khác, nó là kèo bóng đá cúp c2 bảo mậtpqescapyteaconn
.
PQUNESCAPHERTEA
Chuyển đổi biểu diễn chuỗi của dữ kèo bóng đá cúp c2 nhị phân thànhpqescapytea
. Điều này là cần kèo bóng đá cúp c2ết khibyteaDữ kèo bóng đá cúp c2 trong văn bản
65154_65235
ThetừĐiểm tham sốPQGetValue
Khi áp dụng cho Abyteacột.65509_65526
Chuyển đổi chuỗi nàymalloc ()
hoặc null lỗi và đặtto_length. Kết quả phải được giải phóngPQFreemem
Khi nó là
Chuyển đổi này kèo bóng đá cúp c2 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ố.
PQFreemem
Bộ nhớ giải phóng được phân bổ bởilibpq.
void pqfreemem (void *ptr);
Giải phóng bộ nhớ được phân bổ bởilibpq, đặc biệtpqescapyteaconn
, pqescapytea
, PQUNESCAPHERTEA
vàpqnotifyes
. Nó là cần kèo bóng đá cúp c2ết bởi Microsoft/MDTrong VC6)free ()
.