Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:Devel
Phiên bản kèo bóng đá cúp c2 được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của kèo bóng đá cúp c2.
Bạn có thể muốn xem cùng kèo bóng đá cúp c2 trang chohiện tạiPhiên bản hoặc kèo bóng đá cúp c2 trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá cúp c227.3.

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

27.3.1. Chức năng chính

PQEXEC

gửi kèo bóng đá cúp c2 lên máy chủ và chờ đợi

PGRESULT *PQEXEC (PGCONN *Conn, Const Char *Command);

Trả về ApgresultCon trỏPGRES_FATAL_ERRORKết quả. Sử dụngpqerrormessageĐể biết thêm thông tin

Nó được phép bao gồm nhiều kèo bóng đá cúp c2 SQL (được phân tách bằngPQEXECcuộ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,

PQExecParamsgiống nhưPQEXEC, nhưng cung cấpPQExecparamsIS

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 []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 c2paramtypesnullhoặ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ủaPQExecParamsOverPQEXECCó thể là các giá trị tham sốPQEXEC, PQExecparamsCho 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,

PQPrepareTạo aPQEXECPREPARED. Tính năng này cho phépPQPrepareIS

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 c2paramtypesnullhoặ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ớiPQEXECPREPAREDcũng có thể được tạo bởiChuẩn bịCâu kèo bóng đá cúp c2. (NhưngPQPreparelibpqHà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 đó

PQEXECPREPARED

Gửi yêu cầu thực hiện một câu kèo bóng đá cúp c2 đã chuẩn bị với

PGRESULT *PQEXECPREPARED (PGConn *Conn,

PQEXECPREPAREDgiống nhưPQExecParams, nhưngPQEXECPREPAREDđược hỗ trợ

Các tham số giống hệt vớiPQExecParams, ngoại trừ tên của kèo bóng đá cúp c2paramtypes []Tham số

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

PQResultstatusCó thể

PGRES_EMPTY_QUERY

Chuỗi được gửi đến máy chủ trống.

PGRES_COMMAND_OK

Hoàn thành thành công kèo bóng đá cúp c2 trả về không

PGRES_TUDS_OK

Hoàn thành thành công một kèo bóng đá cúp c2 quay lạiChọnhoặcshow).

PGRES_COPY_OUT

Sao chép (từ máy chủ) Truyền dữ kèo bóng đá cúp c2

PGRES_COPY_IN

Sao chép (vào máy chủ) bắt đầu truyền dữ kèo bóng đá cúp c2.

pgres_bad_response

Phản hồi của máy chủ kèo bóng đá cúp c2 được hiểu.

PGRES_NONFATAL_ERROR

Một lỗi kèo bóng đá cúp c2 sinh (thông báo hoặc cảnh báo)

PGRES_FATAL_ERROR

Đã 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ạiPQEXEChoặc khácPhần 27.10).

pqresstatus

Chuyển đổi loại được liệt kê được trả về bởiPQResultstatusthà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 APQEXEChoặcPQGetResultCALL,pqerrormessage(trên kết nối) sẽpqresulterrormessage(kết quả).PGRESULTWillpqresulterrormessageKhi bạn muốnpgresult; sử dụngpqerrormessageKhi 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:

pg_diag_severity

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

PG_DIAG_SQLSTATE

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

pg_diag_message_primary

Thông báo lỗi có thể đọc được chính của con người

PG_DIAG_MESSAGE_DETAIL

Chi tiết: Thông báo lỗi thứ cấp tùy chọn

PG_DIAG_MESSAGE_HINT

Gợi ý: kèo bóng đá cúp c2 đề xuất tùy chọn phải làm gì

pg_diag_statement_poseition

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ẽ

PG_DIAG_INTERNAL_QUERY

Văn bản của kèo bóng đá cúp c2 lỗi được tạo ra trong nội bộ

PG_DIAG_CONTEXT

kèo bóng đá cúp c2 dấu hiệu của bối cảnh trong đó lỗi

PG_DIAG_SOURCE_FILE

Tên tệp của vị trí mã nguồn nơi

pg_diag_source_line

Số dòng của vị trí mã nguồn

PG_DIAG_SOURCE_FUNCTION

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ópqerrorfieldchứ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ênPQClearKhi 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ằngPQClearCuối cùng nên được gọipgresultĐược trả về bởilibpqchính nó.

27.3.2. Lấy kết quả truy vấ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,

pqfsizeTrả 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.PQBinaryTuplesChỉ 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ởiPQGetValuelà aTYPSENDTyPreceivechứ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ếuPQGetValueSẽ 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

27.3.3. Lấy thông tin kết quả

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,PQCMDTUMPLESTrả 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.

27.3.4. Thoát khỏi dây cho

pqescapestringConnthoát apqescapestringConnkè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ỏiPQExecparamshoặc anh chị em của nó

size_t pqescapestringconn (pgconn *Conn,

pqescapestringConnViế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ý,pqescapestringConndừng ở số 0; cácstrncpy.)đếnsẽLEGN,,đếntừ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.

pqescapestringConnTrả vềđến, kèo bóng đá cúp c2

size_t pqescapestring (char *to, const char *từ, size_t length);

pqescapestringpqescapestringConn; 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.

pqescapestringcó 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.

27.3.5. Thoát khỏi chuỗi nhị phân cho

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êmpqescapyteaconnkè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ố

pqescapyteaconnTrả 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

pqescapytealà 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ớipqescapyteaconnpqescapyteakè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

pqescapyteacó 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ốPQGetValueKhi áp dụng cho Abyteacột.65509_65526Chuyển đổi chuỗi nàymalloc ()hoặc null lỗi và đặtto_length. Kết quả phải được giải phóngPQFreememKhi 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, PQUNESCAPHERTEApqnotifyes. Nó là cần kèo bóng đá cúp c2ết bởi Microsoft/MDTrong VC6)free ().