Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá.
Bạn có thể muốn xem cùng cách đọc kèo bóng đá trang chohiện tạiPhiên bản hoặc một trong cách đọc kèo bóng đá phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

1.3. Chức năng thực thi cách đọc kèo bóng đá

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 đá.

1.3.1. cách đọc kèo bóng đá thói quen chính

  • PQEXECGử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.

ThepgresultCấ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.)

  • PQResultstatusTrả về Trạng thái kết quả của cách đọc kèo bóng đá.

    12928_12982

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

  • pqresstatusChuyể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);
  • pqresulterrormessageTrả 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 APQEXEChoặcPQGetResultCALL,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ụngpqresulterrormessageKhi 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ụngpqerrormessageKhi bạn muốn biết trạng thái từ thao tác mới nhất trên kết nối.

  • PQClearGiả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 quaPQClearKhi 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.

  • PQMakeMpTypgresultXâ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ưConncá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ằngPQClearCuối cùng nên được gọi đối tượng, giống như vớiPGRESULTĐược trả về bởilibpqchính nó.

1.3.2. Thoát khỏi dây cho Bao gồm trong cách đọc kèo bóng đá truy vấn SQL

pqescapestringthoá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.

pqescapestringThự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à TheLEGNtham 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).đếnsẽ 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 đếnpqescapestringViết phiên bản thoát của Thetừchuỗi thànhđếnBuffer, 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ả.

pqescapestringTrả 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đếntừChuỗi chồng chéo.

1.3.3. Thoát khỏi chuỗi nhị phân cho Bao gồm trong cách đọc kèo bóng đá truy vấn SQL

pqescapyteaThoá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.pqescapyteaThự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_lengthTham 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_lengthTham 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ả.

pqescapyteaTrả 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ả.

1.3.4. Lấy kết quả Chọn Thông tin

  • PQNTUMPLESTrả về Số lượng bộ dữ liệu (hàng) trong kết quả truy vấn.

    int pqntuples (const pgresult *res);
  • PQNFieldsTrả về Số trường (cột) trong mỗi hàng của truy vấn kết quả.

    int pqnfields (const pgresult *res);
  • PQFNAMETrả 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);
  • PQFNumberTrả 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.

  • PQFTYPETrả 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.

  • PQFMODTrả 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);
  • pqfsizeTrả 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);

    pqfsizeTrả 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ỡ.

  • PQBinaryTuplesTrả 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.

1.3.5. Lấy kết quả Chọn Giá trị

  • PQGetValueTrả 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ởiPQGetValuelà 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ởiPQGetValuelà 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ó.

  • PQGetisNullKiể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ằngPQGetValueSẽ 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.)

  • PQGetLpmTrả 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.

  • PQPrintIn 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.

1.3.6. Lấy kết quả cách đọc kèo bóng đá chọn Thông tin

  • PQCMDSTATUSTrả 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);
  • PQCMDTUMPLESTrả 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.

  • PQOIDVALUETrả 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.

  • PQOIDSTATUSTrả 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ộPQOIDVALUEvà cách đọc kèo bóng đá an toàn.