PostgreSQL: kèo bóng đá hôm nay và ngày mai liệu: 9.6: | |||
---|---|---|---|
prev | UP | Chương 34.ECPG- nhúngSQLtrong C | Tiếp theo |
Các đối tỷ lệ kèo bóng đá trực tuyến hôm nay không được ECPG hỗ trợ trực tiếp, nhưng ứng dụng ECPG có thể thao tác các đối tỷ lệ kèo bóng đá trực tuyến hôm nay thông qua các hàm đối tỷ lệ kèo bóng đá trực tuyến hôm nay LibPQ, thu được cần thiếtPGConnĐối tỷ lệ kèo bóng đá trực tuyến hôm nay bằng cách gọiECPGGET_PGCONN ()
Hàm. (Tuy nhiên, sử dụngECPGGET_PGCONN ()
chức năng và chạmPGConnđối tỷ lệ kèo bóng đá trực tuyến hôm nay trực tiếp nên được thực hiện rất cẩn thận và lý tưởng không được trộn lẫn với các cuộc gọi truy cập cơ sở dữ liệu ECPG khác.)
Để biết thêm chi tiết vềECPGGET_PGCONN ()
, xemPhần 34.11. Để biết thông tin về giao diện chức năng đối tỷ lệ kèo bóng đá trực tuyến hôm nay, xemChương 33.
Các hàm đối tỷ lệ kèo bóng đá trực tuyến hôm nay phải được gọi trong một khối giao dịch, vì vậy khi AutoCommit tắt,bắt đầutỷ lệ kèo bóng đá trực tuyến hôm nay lệnh phải được ban hành một cách rõ ràng.
Ví dụ 34-2Hiển thị chương trình ví dụ minh họa cách tạo, viết và đọc một đối tỷ lệ kèo bóng đá trực tuyến hôm nay trong ứng dụng ECPG.
Ví dụ 34-2. Chương trình ECPG truy cập các đối tỷ lệ kèo bóng đá trực tuyến hôm nay
#include <stdio.h #include <stdlib.h #include <libpq-fe.h #include <libpq/libpq-fs.h EXEC SQL Bất cứ khi nào sqlerror dừng lại; int Main (Void) Pgconn *Conn; Oid loid; int fd; char buf [256]; int buflen = 256; char buf2 [256]; int rc; memset (Buf, 1, Buflen); EXEC SQL kết nối với TestDB dưới dạng con1; Exec sql chọn pg_catalog.set_config ('search_path', '', false); Exec sql cam kết; Conn = ECPGGet_PGConn ("Con1"); printf ("Conn = %p \ n", Conn); /* tạo nên */ loid = lo_create (Conn, 0); if (loid & lt; 0) printf ("lo_create () không thành công: %s", pqerrormessage (Conn)); printf ("loid = %d \ n", loid); / * viết bài kiểm tra */ fd = lo_open (Conn, loid, inv_read | inv_write); if (fd & lt; 0) printf ("lo_open () không thành công: %s", pqerrormessage (Conn)); printf ("fd = %d \ n", fd); RC = lo_write (Conn, FD, BUF, BUFLEN); if (rc & lt; 0) printf ("lo_write () không thành công \ n"); rc = lo_close (Conn, fd); if (rc & lt; 0) printf ("lo_close () không thành công: %s", pqerrormessage (Conn)); / * Đọc bài kiểm tra */ fd = lo_open (Conn, loid, inv_read); if (fd & lt; 0) printf ("lo_open () không thành công: %s", pqerrormessage (Conn)); printf ("fd = %d \ n", fd); RC = lo_read (Conn, FD, Buf2, Buflen); if (rc & lt; 0) printf ("lo_read () không thành công \ n"); rc = lo_close (Conn, fd); if (rc & lt; 0) printf ("lo_close () không thành công: %s", pqerrormessage (Conn)); /* kiểm tra */ RC = MEMCMP (BUF, BUF2, BUFLEN); printf ("memcmp () = %d \ n", rc); / * Dọn dẹp */ rc = lo_unlink (Conn, loid); if (rc & lt; 0) printf ("lo_unlink () không thành công: %s", pqerrormessage (Conn)); Exec sql cam kết; EXEC SQL Ngắt kết nối tất cả; trả lại 0;