ECPG
Có thể chạy trong cái gọi làChế độ soi kèo bóng đá truoctran Informix. Nếu chế độ này hoạt động, nó sẽ cố gắng hành xử như thể đó làInformixPrecompiler choInformixE/SQL. Nói chung, điều này sẽ cho phép bạn sử dụng dấu hiệu đô la thay vìEXEC SQL
nguyên thủy để giới thiệu các lệnh SQL nhúng:
$ int j = 3; $ Kết nối với: dbname; $ Tạo bảng kiểm tra (i int chính, j int); $ Chèn vào các giá trị kiểm tra (i, j) (7,: j); $ Cam kết;
11689_11737$
và soi kèo bóng đá truoctran chỉ thị tiền xử lý sau, nghĩa là,Bao gồm
, 11875_11883
, IFDEF
, v.v.
Có hai chế độ soi kèo bóng đá truoctran:Informix
, Informix_SE
Khi liên kết các chương trình sử dụng chế độ soi kèo bóng đá truoctran này, hãy nhớ liên kết vớilibcompat
được vận chuyển với ECPG.
Bên cạnh đường cú pháp được giải thích trước đó,InformixChế độ tương thích soi kèo bóng đá truoctran số chức năng cho đầu vào, đầu ra và chuyển đổi dữ liệu cũng như các câu lệnh SQL nhúng được biết từ E/SQL sang ECPG.
InformixChế độ tương thích được kết nối chặt chẽ với thư viện pgtypeslib soi kèo bóng đá truoctran ECPG. pgtypeslib Bản đồ các loại dữ liệu SQL sang các loại dữ liệu trong chương trình máy chủ C và hầu hết các chức năng bổ sung soi kèo bóng đá truoctranInformixChế độ soi kèo bóng đá truoctran cho phép bạn hoạt động trên các loại chương trình máy chủ C đó. Tuy nhiên, lưu ý rằng mức độ soi kèo bóng đá truoctran bị hạn chế. Nó không cố gắng sao chépInformixHành vi; Nó cho phép bạn thực hiện nhiều hơn hoặc ít hơn các hoạt động và cung cấp cho bạn các chức năng có cùng tên và cùng soi kèo bóng đá truoctran hành vi cơ bản nhưng nó không thay thế nếu bạn đang sử dụngInformixHiện tại. Hơn nữa, soi kèo bóng đá truoctran số loại dữ liệu là khác nhau. Ví dụ,PostgreSQL'sCác loại DateTime và Interval không biết về các phạm vi như ví dụnăm đến phút
Vì vậy, bạn sẽ không tìm thấy hỗ trợ trong ECPG cho điều đó.
13755_13895typedef
. Trên thực tế, trong chế độ Informix, ECPG từ chối xử lý các tệp nguồn có chứaTypedef chuỗi đôi;
EXEC SQL BẮT ĐẦU phần khai báo; chuỗi userid; / * Biến này sẽ chứa dữ liệu được cắt */ EXEC SQL END TUYÊN BỐ TUYÊN BỐ; EXEC SQL tìm nạp mycur vào: userid;
Đóng cơ sở dữ liệu
Câu lệnh này đóng kết nối hiện tại. Trên thực tế, đây là soi kèo bóng đá truoctran từ đồng nghĩa với ECPG'sNgắt kết nối hiện tại
:
$ đóng cơ sở dữ liệu; / * Đóng kết nối hiện tại */ EXEC SQL Đóng cơ sở dữ liệu;
con trỏ miễn phí_name
Do sự khác biệt về cách thức hoạt động soi kèo bóng đá truoctran ECPG so với ESQL/C soi kèo bóng đá truoctran Informix (tức là, các bước hoàn toàn là các phép biến đổi ngữ pháp và các bước dựa trên thư viện thời gian chạy cơ bản) không cócon trỏ miễn phí_name
Câu lệnh trong ECPG. Điều này là do trong ECPG,Tuyên bố con trỏ
15413_15632
statement miễn phí_name
Tuyên bố miễn phí_name
là từ đồng nghĩa với15855_15890
.
Chế độ tương thích Informix hỗ trợ soi kèo bóng đá truoctran cấu trúc khác với cấu trúc được mô tả trongPhần 36.7.2. Xem bên dưới:
struct sqlvar_compat SQLTYPE ngắn; int sqllen; char *sqldata; ngắn *sqlind; char *sqlname; char *sqlformat; SQLitype ngắn; SQLILEN ngắn; char *sqlidata; int sqlxid; char *sqltypename; SQLTYPELEN ngắn; SQLOWNerlen ngắn; SQLSourCetype ngắn; char *sqlownername; int SQLSourceId; char *sqlilongdata; int sqlflags; void *sqlreserved; ; Struct sqlda_compat SQLD ngắn; struct sqlvar_compat *sqlvar; char desc_name [19]; Desc_occ ngắn; struct sqlda_compat *desc_next; khoảng trống *bảo lưu; ; typedef struct sqlvar_compat sqlvar_t; typedef struct sqlda_compat sqlda_t;
Các thuộc tính toàn cầu là:
SQLD
Số lượng trường trongSQLDA
Mô tả.
SQLVAR
Con trỏ tới các thuộc tính trên mỗi trường.
desc_name
không được sử dụng, chứa đầy byte bằng không.
desc_occ
Kích thước soi kèo bóng đá truoctran cấu trúc được phân bổ.
desc_next
Con trỏ đến cấu trúc SQLDA tiếp theo nếu tập kết quả chứa nhiều hơn soi kèo bóng đá truoctran bản ghi.
bảo lưu
Con trỏ không sử dụng, chứa null. Được giữ để soi kèo bóng đá truoctran thông tin.
Các thuộc tính trên trường ở bên dưới, chúng được lưu trữ trongSQLVAR
mảng:
SQLTYPE
18663_18701sqltypes.h
sqllen
Độ dài soi kèo bóng đá truoctran dữ liệu trường.
sqldata
Con trỏ vào dữ liệu trường. Con trỏ là soi kèo bóng đá truoctranchar *
Loại, dữ liệu được trỏ bởi nó ở định dạng nhị phân. Ví dụ:
int intval; Switch (sqldata- sqlvar [i] .sqltype) trường hợp sqlinteger: intval = *(int *) sqldata- sqlvar [i] .sqldata; phá vỡ; ...
sqlind
Con trỏ tới chỉ báo null. Nếu được trả lại bằng cách mô tả hoặc tìm nạp thì nó luôn luôn là soi kèo bóng đá truoctran con trỏ hợp lệ. Nếu được sử dụng làm đầu vào choThực thi ... Sử dụng SQLDA;
Sau đó, giá trị của con trỏ null có nghĩa là giá trị cho trường này không phải là null. Nếu không thì soi kèo bóng đá truoctran con trỏ hợp lệ vàsqlitype
phải được đặt đúng. Ví dụ:
if ( *(int2 *) sqldata- sqlvar [i] .sqlind! = 0) printf ("Giá trị là null \ n");
sqlname
Tên soi kèo bóng đá truoctran trường. Chuỗi kết thúc 0.
SQLformat
Được bảo lưu trong Informix, giá trị soi kèo bóng đá truoctranPQFFormat
cho trường.
sqlitype
Loại dữ liệu chỉ báo null. Nó luôn luôn là sqlsmint khi trả lại dữ liệu từ máy chủ. KhiSQLDA
được sử dụng cho truy vấn được tham số hóa, dữ liệu được xử lý theo loại tập hợp.
SQLILEN
Độ dài soi kèo bóng đá truoctran dữ liệu chỉ báo null.
SQLXID
Loại trường mở rộng, kết quả soi kèo bóng đá truoctranPQFTYPE
.
sqltypename
SQLTYPELEN
SQLOWNERLEN
SQLSourCetype
SQLOWNENSE
SQLSourceID
SQLFlags
sqlreserved
không sử dụng.
SQLILONGDATA
Nó bằng vớisqldata
nếusqllen
lớn hơn 32kb.
Ví dụ:
EXEC SQL bao gồm sqlda.h; sqlda_t *sqlda; / * Điều này không cần phải được nhúng phần khai báo *// EXEC SQL bắt đầu phần khai báo; char * prep_stmt = "Chọn * từ Bảng1"; int i; EXEC SQL END TUYÊN BỐ TUYÊN BỐ; ... Exec sql chuẩn bị mystmt từ: prep_stmt; EXEC SQL mô tả MyStmt vào sqlda; printf ("# của các trường: %d \ n", sqlda- sqld); for (i = 0; i <sqlda- sqld; i ++) printf ("trường %d: \" %s \ "\ n", sqlda- sqlvar [i]- sqlname); EXEC SQL tuyên bố con trỏ Mycursor cho Mystmt; Exec sql mở mycursor; Exec SQL bất cứ khi nào không tìm thấy Goto ra; while (1) EXEC SQL tìm nạp mycursor bằng SQLDA; Exec sql đóng mycursor; miễn phí (sqlda); /* Cấu trúc chính là tất cả để được miễn phí (), * SQLDA và SQLDA- SQLVAR nằm trong soi kèo bóng đá truoctran khu vực được phân bổ */
Để biết thêm thông tin, xemsqlda.h
Tiêu đề vàsrc/giao diện/ecpg/test/compat_informix/sqlda.pgc
Kiểm tra hồi quy.
decadd
Thêm hai giá trị loại thập phân.
int decadd (thập phân *arg1, thập phân *arg2, thập phân *sum);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới toán hạng đầu tiên của thập phân (arg1
), soi kèo bóng đá truoctran con trỏ tới toán hạng thứ hai của loại thập phân (arg2
) và soi kèo bóng đá truoctran con trỏ tới giá trị của số thập phân sẽ chứa tổng (Sum
23992_24033ECPG_INFORMIX_NUM_OVERFLOW
được trả về trong trường hợp tràn vàECPG_INFORMIX_NUM_UNDERFLOW
Trong trường hợp dòng chảy. -1 được trả về cho các lỗi khác vàerrno
được đặt thành soi kèo bóng đá truoctran ứngerrno
Số lượng soi kèo bóng đá truoctran pgtypeslib.
DECCMP
So sánh hai biến số thập phân.
int deccmp (thập phân *arg1, thập phân *arg2);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới giá trị thập phân đầu tiên (arg1
), soi kèo bóng đá truoctran con trỏ tới giá trị thập phân thứ hai (arg2
) và trả về giá trị số nguyên cho biết giá trị lớn hơn.
1, nếu giá trị đóarg1
Điểm lớn hơn giá trịvar2
Điểm đến
-1, nếu giá trị đóarg1
Điểm đến nhỏ hơn giá trịarg2
Điểm đến
0, nếu giá trị đóarg1
Điểm và giá trị đóarg2
điểm là bằng nhau
Deccopy
Sao chép giá trị thập phân.
void deccopy (thập phân *src, thập phân *mục tiêu);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới giá trị thập phân cần được sao chép dưới dạng đối số đầu tiên (SRC
) và soi kèo bóng đá truoctran con trỏ tới cấu trúc mục tiêu của loại thập phân (Target
) là đối số thứ hai.
deccvasc
Chuyển đổi giá trị từ biểu diễn ASCII của nó thành soi kèo bóng đá truoctran loại thập phân.
int deccvasc (char *cp, int len, thập phân *np);
Hàm nhận được soi kèo bóng đá truoctran con trỏ đến chuỗi chứa biểu diễn chuỗi của số sẽ được chuyển đổi (CP
) cũng như độ dài soi kèo bóng đá truoctran nólen
. NP
là soi kèo bóng đá truoctran con trỏ tới giá trị thập phân giúp tiết kiệm kết quả của hoạt động.
Định dạng hợp lệ là ví dụ:-2
, .794
, +3.44
, 592.49E07
hoặc-32.84E-4
.
Hàm trả về 0 khi thành công. Nếu tràn hoặc dòng chảy xảy ra,ECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
được trả về. Nếu đại diện ASCII không thể được phân tích cú pháp,ECPG_Informix_Bad_Numeric
được trả về hoặcECPG_Informix_Bad_Exponent
Nếu vấn đề này xảy ra trong khi phân tích số mũ.
DECCVDBL
27563_27623
int deccvdbl (Double dbl, decimal *np);
Hàm nhận được biến soi kèo bóng đá truoctran loại đôi nên được chuyển đổi dưới dạng đối số đầu tiên soi kèo bóng đá truoctran nó (27838_27843
). Là đối số thứ hai (NP
), hàm nhận được soi kèo bóng đá truoctran con trỏ tới biến số thập phân sẽ giữ kết quả của hoạt động.
Hàm trả về 0 khi thành công và giá trị âm nếu chuyển đổi không thành công.
Deccvint
Chuyển đổi giá trị loại int thành giá trị soi kèo bóng đá truoctran loại thập phân.
int deccvint (int in, decimal *np);
Hàm nhận được biến soi kèo bóng đá truoctran loại int nên được chuyển đổi dưới dạng đối số đầu tiên soi kèo bóng đá truoctran nó (in
). Là đối số thứ hai (NP
), hàm nhận được soi kèo bóng đá truoctran con trỏ tới biến số thập phân sẽ giữ kết quả của hoạt động.
Hàm trả về 0 khi thành công và giá trị âm nếu chuyển đổi không thành công.
Deccvlong
Chuyển đổi giá trị soi kèo bóng đá truoctran loại dài thành giá trị soi kèo bóng đá truoctran số thập phân.
int deccvlong (lng dài, thập phân *np);
Hàm nhận được biến soi kèo bóng đá truoctran loại dài nên được chuyển đổi dưới dạng đối số đầu tiên soi kèo bóng đá truoctran nó (LNG
). Là đối số thứ hai (NP
), hàm nhận được soi kèo bóng đá truoctran con trỏ tới biến số thập phân sẽ giữ kết quả của hoạt động.
hàm trả về 0 khi thành công và giá trị âm nếu chuyển đổi không thành công.
DECDIV
chia hai biến số thập phân.
int decdiv (thập phân *n1, thập phân *n2, số thập phân *result);
Hàm nhận được con trỏ đến các biến là đầu tiên (N1
) và lần thứ hai (N2
) Các toán hạng và tính toánN1
/N2
. result
là soi kèo bóng đá truoctran con trỏ tới biến sẽ giữ kết quả của hoạt động.
Khi thành công, 0 được trả về và giá trị âm nếu bộ phận thất bại. Nếu xảy ra tràn hoặc dòng chảy, chức năng trả vềECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
tương ứng. Nếu soi kèo bóng đá truoctran nỗ lực chia cho 0 được quan sát, hàm sẽ trả vềECPG_INFORMIX_DIVIDE_ZERO
.
Decmul
Nhân hai giá trị thập phân.
int decmul (thập phân *n1, thập phân *n2, số thập phân *result);
Hàm nhận được con trỏ đến các biến là đầu tiên (N1
) và lần thứ hai (N2
) Toán tử và tính toánN1
*N2
. result
là soi kèo bóng đá truoctran con trỏ tới biến sẽ giữ kết quả của hoạt động.
Khi thành công, 0 được trả về và giá trị âm nếu phép nhân không thành công. Nếu xảy ra tràn hoặc dòng chảy, chức năng trả vềECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
decsub
Trừ soi kèo bóng đá truoctran giá trị thập phân từ khác.
int decsub (thập phân *n1, thập phân *n2, số thập phân *result);
Hàm nhận được con trỏ đến các biến là đầu tiên (N1
) và lần thứ hai (N2
31776_31804N1
-N2
. Kết quả
31902_31979
Khi thành công, 0 được trả về và giá trị âm nếu phép trừ không thành công. Nếu xảy ra tràn hoặc dòng chảy, chức năng trả vềECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
soi kèo bóng đá truoctran ứng.
Dectoasc
Chuyển đổi soi kèo bóng đá truoctran biến số thập phân thành biểu diễn ASCII của nó trong chuỗi c char* chuỗi.
int Dectoasc (thập phân *np, char *cp, int len, int right)
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới soi kèo bóng đá truoctran biến của loại thập phân (NP
) mà nó chuyển đổi thành biểu diễn văn bản soi kèo bóng đá truoctran nó.CP
là bộ đệm sẽ giữ kết quả soi kèo bóng đá truoctran hoạt động. Tham sốphải
Chỉ định, có bao nhiêu chữ số bên phải soi kèo bóng đá truoctran điểm thập phân nên được đưa vào đầu ra. Kết quả sẽ được làm tròn đến số chữ số thập phân này. Cài đặtphải
đến -1 chỉ ra rằng tất cả các chữ số thập phân có sẵn phải được đưa vào đầu ra. Nếu độ dài soi kèo bóng đá truoctran bộ đệm đầu ra, được biểu thị bằnglen
không đủ để giữ biểu diễn văn bản bao gồm cả byte theo dõi, chỉ soi kèo bóng đá truoctran*
ký tự được lưu trữ trong kết quả và -1 được trả về.
Hàm trả về -1 nếu bộ đệmCP
quá nhỏ hoặcECPG_INFORMIX_OUT_OF_MEMORY
Nếu bộ nhớ đã cạn kiệt.
DECTODBL
Chuyển đổi soi kèo bóng đá truoctran biến số thập phân thành Double.
int Dectodbl (thập phân *np, double *dblp);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới giá trị thập phân để chuyển đổi (NP
) và soi kèo bóng đá truoctran con trỏ tới biến kép sẽ giữ kết quả của hoạt động (DBLP
).
Khi thành công, 0 được trả về và giá trị âm nếu chuyển đổi không thành công.
34259_34269
Chuyển đổi soi kèo bóng đá truoctran biến số thập phân thành số nguyên.
int Dectoint (thập phân *np, int *ip);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới giá trị thập phân để chuyển đổi (NP
) và soi kèo bóng đá truoctran con trỏ tới biến số nguyên sẽ giữ kết quả của hoạt động (IP
).
Khi thành công, 0 được trả về và giá trị âm nếu chuyển đổi không thành công. Nếu xảy ra tràn,ECPG_INFORMIX_NUM_OVERFLOW
được trả về.
Lưu ý rằng việc triển khai ECPG khác vớiInformixtriển khai.InformixGiới hạn số nguyên ở phạm vi từ -32767 đến 32767, trong khi các giới hạn trong triển khai ECPG phụ thuộc vào kiến trúc (int_min .. int_max
).
Dectolong
Chuyển đổi soi kèo bóng đá truoctran biến số thập phân thành số nguyên dài.
35416_35459
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới giá trị thập phân để chuyển đổi (NP
) và soi kèo bóng đá truoctran con trỏ tới biến dài sẽ giữ kết quả của hoạt động (lngp
).
Khi thành công, 0 được trả về và giá trị âm nếu chuyển đổi không thành công. Nếu xảy ra tràn,ECPG_INFORMIX_NUM_OVERFLOW
được trả về.
Lưu ý rằng việc triển khai ECPG khác vớiInformixTriển khai.InformixGiới hạn số nguyên dài đến phạm vi từ -2,147,483,647 đến 2.147.483.647, trong khi các giới hạn trong triển khai ECPG phụ thuộc vào kiến trúc (-Long_max .. Long_Max
).
rdatestr
Chuyển đổi soi kèo bóng đá truoctran ngày thành chuỗi c char*.
int rdatestr (ngày d, char *str);
Hàm nhận được hai đối số, lần đầu tiên là ngày để chuyển đổi (D
) và cái thứ hai là soi kèo bóng đá truoctran con trỏ tới chuỗi đích. Định dạng đầu ra luôn luônYYYY-MM-DD
, vì vậy bạn cần phân bổ ít nhất 11 byte (bao gồm cả Terminator không byte) cho chuỗi.
hàm trả về 0 khi thành công và giá trị âm trong trường hợp lỗi.
Lưu ý rằng việc triển khai soi kèo bóng đá truoctran ECPG khác vớiInformixThực hiện. TRONGInformixĐịnh dạng có thể bị ảnh hưởng bởi việc thiết lập các biến môi trường. Tuy nhiên, trong ECPG, bạn không thể thay đổi định dạng đầu ra.
rstrdate
phân tích biểu diễn văn bản của soi kèo bóng đá truoctran ngày.
int rstrdate (char *str, ngày *d);
Hàm nhận được biểu diễn văn bản soi kèo bóng đá truoctran ngày để chuyển đổi (str
37562_37608D
). Hàm này không cho phép bạn chỉ định mặt nạ định dạng. Nó sử dụng mặt nạ định dạng mặc định soi kèo bóng đá truoctranInformixđó làmm/dd/yyyy
. Trong nội bộ, chức năng này được thực hiện bằng phương tiệnrdefmtdate
. Vì thế,rstrdate
không nhanh hơn và nếu bạn có lựa chọn, bạn nên chọn chordefmtdate
cho phép bạn chỉ định mặt nạ định dạng soi kèo bóng đá truoctran cách rõ ràng.
Hàm trả về các giá trị giống nhưrdefmtdate
.
rtoday
Nhận ngày hiện tại.
void rtoday (ngày *d);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới biến ngày (D
) rằng nó đặt thành ngày hiện tại.
Trong nội bộ chức năng này sử dụngpgtypesdate_today
chức năng.
rjulmdy
Trích xuất các giá trị cho ngày, tháng và năm từ soi kèo bóng đá truoctran biến của loại ngày.
int rjulmdy (ngày d, ngắn mdy [3]);
Hàm nhận ngàyD
và soi kèo bóng đá truoctran con trỏ tới soi kèo bóng đá truoctran mảng gồm 3 giá trị số nguyên ngắnmdy
. Tên biến cho biết thứ tự tuần tự:mdy [0]
sẽ được đặt thành số lượng soi kèo bóng đá truoctran tháng,mdy [1]
sẽ được đặt thành giá trị soi kèo bóng đá truoctran ngày vàmdy [2]
sẽ chứa năm.
Hàm luôn trả về 0 tại thời điểm này.
Nội dung chức năng sử dụngpgtypesdate_julmdy
chức năng.
rdefmtdate
Sử dụng mặt nạ định dạng để chuyển đổi chuỗi ký tự thành giá trị soi kèo bóng đá truoctran loại ngày.
int rdefmtdate (ngày *d, char *fmt, char *str);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới giá trị ngày sẽ giữ kết quả của hoạt động (D
), Mặt nạ định dạng để sử dụng để phân tích ngày (FMT
) và chuỗi c char* chứa biểu diễn văn bản soi kèo bóng đá truoctran ngày (str
). Biểu diễn văn bản dự kiến sẽ phù hợp với mặt nạ định dạng. Tuy nhiên, bạn không cần phải có ánh xạ 1: 1 soi kèo bóng đá truoctran chuỗi vào mặt nạ định dạng. Hàm chỉ phân tích thứ tự tuần tự và tìm kiếm các chữYY
hoặcYyyy
chỉ ra vị trí soi kèo bóng đá truoctran năm,mm
Để chỉ ra vị trí soi kèo bóng đá truoctran tháng vàDD
Để chỉ ra vị trí soi kèo bóng đá truoctran ngày.
Hàm trả về các giá trị sau:
0 - Hàm chấm dứt thành công.
ECPG_INFORMIX_ENOSHORTDATE
- Ngày không chứa các dấu phân cách giữa ngày, tháng và năm. Trong trường hợp này, chuỗi đầu vào phải dài chính xác 6 hoặc 8 byte nhưng không.
ECPG_INFORMIX_ENOTDMY
- Chuỗi định dạng không chỉ chính xác thứ tự tuần tự soi kèo bóng đá truoctran năm, tháng và ngày.
ECPG_INFORMIX_BAD_DAY
- Chuỗi đầu vào không chứa soi kèo bóng đá truoctran ngày hợp lệ.
ECPG_INFORMIX_BAD_MONTH
41864_41917
ECPG_INFORMIX_BAD_YEAR
- Chuỗi đầu vào không chứa năm hợp lệ.
Trong nội bộ Hàm này được triển khai để sử dụngpgtypesdate_defmt_asc
Hàm. Xem tham chiếu ở đó để biết bảng đầu vào ví dụ.
rfmtdate
Chuyển đổi soi kèo bóng đá truoctran biến của loại ngày thành biểu diễn văn bản của nó bằng mặt nạ định dạng.
int rfmtdate (ngày d, char *fmt, char *str);
Hàm nhận ngày để chuyển đổi (D
), Mặt nạ định dạng (FMT
42836_42910str
).
Khi thành công, 0 được trả về và giá trị âm nếu xảy ra lỗi.
Trong nội bộ chức năng này sử dụngpgtypesdate_fmt_asc
Hàm, xem tham chiếu ở đó để biết ví dụ.
rmdyjul
Tạo giá trị ngày từ soi kèo bóng đá truoctran mảng gồm 3 số nguyên ngắn chỉ định ngày, tháng và năm của ngày.
int rmdyjul (ngắn mdy [3], ngày *d);
Hàm nhận được mảng soi kèo bóng đá truoctran 3 số nguyên ngắn (mdy
) và soi kèo bóng đá truoctran con trỏ tới soi kèo bóng đá truoctran biến của loại ngày sẽ giữ kết quả của hoạt động.
Hiện tại chức năng luôn trả về 0.
Trong nội bộ chức năng được triển khai để sử dụng chức năngpgtypesdate_mdyjul
.
rdayofweek
Trả về soi kèo bóng đá truoctran số đại diện cho ngày trong tuần cho soi kèo bóng đá truoctran giá trị ngày.
int rdayofweek (ngày d);
Hàm nhận được biến ngàyD
Là đối số duy nhất của nó và trả về soi kèo bóng đá truoctran số nguyên biểu thị ngày trong tuần cho ngày này.
0 - Chủ nhật
1 - Thứ Hai
2 - Thứ ba
3 - Thứ tư
4 - Thứ năm
5 - Thứ sáu
6 - Thứ bảy
Trong nội bộ chức năng được triển khai để sử dụng chức năngpgtypesdate_dayofweek
.
dtcien
Truy xuất dấu thời gian hiện tại.
void dtcien (dấu thời gian *ts);
45658_45751TS
Điểm đến.
dtcvasc
phân tích dấu thời gian từ biểu diễn văn bản của nó thành soi kèo bóng đá truoctran biến dấu thời gian.
int dtcvasc (char *str, dấu thời gian *ts);
Hàm nhận chuỗi để phân tích cú pháp (str
) và soi kèo bóng đá truoctran con trỏ tới biến dấu thời gian sẽ giữ kết quả của hoạt động (TS
).
hàm trả về 0 khi thành công và giá trị âm trong trường hợp lỗi.
Trong nội bộ chức năng này sử dụngpgtypestimestamp_from_asc
Hàm. Xem tham chiếu ở đó cho soi kèo bóng đá truoctran bảng có đầu vào ví dụ.
DTCVFMTASC
Phân tích dấu thời gian từ biểu diễn văn bản soi kèo bóng đá truoctran nó bằng cách sử dụng mặt nạ định dạng vào biến dấu thời gian.
dtcvfmtasc (char *inbuf, char *fmtstr, dấu thời gian *dtvalue)
Hàm nhận chuỗi để phân tích.INBUF
), Mặt nạ định dạng để sử dụng (FMTSTR
) và soi kèo bóng đá truoctran con trỏ tới biến dấu thời gian sẽ giữ kết quả của hoạt động (DTVALUE
).
Hàm này được thực hiện bằng phương tiệnpgtypestimestamp_defmt_asc
Hàm. Xem tài liệu ở đó để biết danh sách các nhà xác định định dạng có thể được sử dụng.
hàm trả về 0 khi thành công và giá trị âm trong trường hợp lỗi.
DTSUB
Trừ soi kèo bóng đá truoctran dấu thời gian từ soi kèo bóng đá truoctran thời gian khác và trả về soi kèo bóng đá truoctran biến của khoảng thời gian.
47830_47890
Hàm sẽ trừ biến dấu thời gian đóTS2
Các điểm từ biến dấu thời gian đóTS1
Điểm đến và sẽ lưu trữ kết quả trong biến khoảng thời gianIV
Điểm đến.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
dttoasc
Chuyển đổi biến dấu thời gian thành chuỗi c char*.
int dttoasc (dấu thời gian *ts, char *ra);
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới biến dấu thời gian để chuyển đổi (TS
) và chuỗi sẽ giữ kết quả soi kèo bóng đá truoctran hoạt động (OUTPUT
). Nó chuyển đổiTS
với biểu diễn văn bản soi kèo bóng đá truoctran nó theo tiêu chuẩn SQL, đó làYYYY-MM-DD HH: MM: SS
.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
dttofmtasc
Chuyển đổi biến dấu thời gian thành c char c* Sử dụng mặt nạ định dạng.
int dttofmtasc (dấu thời gian *ts, char *oput
Hàm nhận được soi kèo bóng đá truoctran con trỏ tới dấu thời gian để chuyển đổi dưới dạng đối số đầu tiên của nó (TS
), soi kèo bóng đá truoctran con trỏ tới bộ đệm đầu ra (đầu ra
), Độ dài tối đa đã được phân bổ cho bộ đệm đầu ra (str_len
49627_49678FMTSTR
).
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
Trong nội bộ, chức năng này sử dụngpgtypestimestamp_fmt_asc
Hàm. Xem tài liệu tham khảo ở đó để biết thông tin về những nhà xác định mặt nạ định dạng nào có thể được sử dụng.
Chuyển đổi soi kèo bóng đá truoctran biến khoảng thành chuỗi c char*.
50291_50331
Hàm nhận soi kèo bóng đá truoctran con trỏ tới biến khoảng để chuyển đổi (i
) và chuỗi sẽ giữ kết quả soi kèo bóng đá truoctran hoạt động (str
). Nó chuyển đổii
với biểu diễn văn bản soi kèo bóng đá truoctran nó theo tiêu chuẩn SQL, đó làYYYY-MM-DD HH: MM: SS
.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
rfmtlong
Chuyển đổi giá trị số nguyên dài thành biểu diễn văn bản soi kèo bóng đá truoctran nó bằng mặt nạ định dạng.
int rfmtlong (lng_val dài, char *fmt, char *outbuf);
Hàm nhận được giá trị dàilng_val
, Mặt nạ định dạngFMT
và soi kèo bóng đá truoctran con trỏ tới bộ đệm đầu raOutbuf
. Nó chuyển đổi giá trị dài theo mặt nạ định dạng thành biểu diễn văn bản soi kèo bóng đá truoctran nó.
Mặt nạ định dạng có thể bao gồm các ký tự chỉ định định dạng sau:
*
(Asterisk) - Nếu vị trí này sẽ trống nếu không, hãy điền nó bằng dấu hoa thị.
&
(Ampersand) - Nếu vị trí này sẽ trống nếu không, hãy điền nó bằng số 0.
#
- Biến số 0 hàng đầu thành chỗ trống.
<
- trái với số trong chuỗi.
,
(dấu phẩy) - Số nhóm soi kèo bóng đá truoctran bốn hoặc nhiều chữ số thành các nhóm ba chữ số được phân tách bằng dấu phẩy.
.
(giai đoạn) - ký tự này phân tách phần toàn bộ số soi kèo bóng đá truoctran số với phần phân số.
-
(trừ) - dấu trừ xuất hiện nếu số là giá trị âm.
+
(cộng) - dấu cộng xuất hiện nếu số là giá trị dương.
(
- Điều này thay thế dấu trừ ở phía trước số âm. Dấu trừ sẽ không xuất hiện.
)
53357_53437
$
- Biểu tượng tiền tệ.
Rupshift
Chuyển đổi soi kèo bóng đá truoctran chuỗi thành trường hợp trên.
void Rupshift (char *str);
Hàm nhận soi kèo bóng đá truoctran con trỏ tới chuỗi và biến đổi mọi ký tự chữ thường thành chữ hoa.
Byleng
Trả về số lượng ký tự trong soi kèo bóng đá truoctran chuỗi mà không đếm khoảng trống kéo dài.
int Byleng (char *str, int len);
54259_54327str
) và độ dài soi kèo bóng đá truoctran nó là đối số thứ hai soi kèo bóng đá truoctran nó (len
54430_54541
ldchar
Sao chép chuỗi có độ dài cố định vào chuỗi kết thúc null.
void ldchar (char *src, int len, char *dest);
Hàm nhận chuỗi độ dài cố định để sao chép (SRC
), Độ dài soi kèo bóng đá truoctran nó (len
) và soi kèo bóng đá truoctran con trỏ tới bộ nhớ đích (Dest
). Lưu ý rằng bạn cần đặt trước ít nhấtlen+1
byte cho chuỗi đóDest
Điểm đến. Chức năng sao chép nhiều nhấtlen
Byte cho vị trí mới (ít hơn nếu chuỗi nguồn có khoảng trống dấu
RGetMSG
int rgetMSG (int msgnum, char *s, int maxsize);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rtypalign
int rtypalign (int offset, int type);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rtypmsize
int rtypmsize (int type, int len);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rtypwidth
int rtypwidth (int sqltype, int sqllen);
56348_56408
rsetNull
Đặt soi kèo bóng đá truoctran biến thành NULL.
int rsetNull (int t, char *ptr);
Hàm nhận được soi kèo bóng đá truoctran số nguyên biểu thị loại biến và con trỏ tới chính biến được chuyển đến con trỏ c char*.
Các loại sau tồn tại:
cchartype
- cho soi kèo bóng đá truoctran biến của loạichar
hoặcchar*
cshortType
- cho soi kèo bóng đá truoctran biến của loạiShort Int
Cinttype
- cho soi kèo bóng đá truoctran biến của loạiint
cbooltype
- cho soi kèo bóng đá truoctran biến của loạiBoolean
CfloatsType
- cho soi kèo bóng đá truoctran biến của loạifloat
clongtype
- cho soi kèo bóng đá truoctran biến của loạiLong
CDoubletype
- cho soi kèo bóng đá truoctran biến của loạiDouble
CDECIMALTYPE
- cho soi kèo bóng đá truoctran biến của loạithập phân
CDATETYPE
- cho soi kèo bóng đá truoctran biến của loạingày
CDTimeType
- cho soi kèo bóng đá truoctran biến của loại58718_58729
Đây là soi kèo bóng đá truoctran ví dụ về cuộc gọi đến chức năng này:
$ char c [] = "ABC"; $ ngắn s = 17; $ int i = -74874; rsetNull (cchartype, (char *) c); rsetNull (cshortType, (char *) & s); rsetNull (cinttype, (char *) & i);
Risnull
Kiểm tra nếu soi kèo bóng đá truoctran biến là null.
int risnull (int t, char *ptr);
Hàm nhận được loại biến để kiểm tra (T
) cũng như soi kèo bóng đá truoctran con trỏ tới biến này (PTR
). Lưu ý rằng cái sau cần được đúc vào char*. Xem chức năngrsetNull
Để biết danh sách các loại biến có thể.
59693_59742
$ char c [] = "ABC"; $ ngắn s = 17; $ int i = -74874; risnull (cchartype, (char *) c); risnull (cshortType, (char *) & s); risnull (cinttype, (char *) & i);
Lưu ý rằng tất cả các hằng số ở đây mô tả các lỗi và tất cả chúng được xác định để biểu diễn các giá trị âm. Trong các mô tả soi kèo bóng đá truoctran các hằng số khác nhau, bạn cũng có thể tìm thấy giá trị mà các hằng số đại diện trong quá trình thực hiện hiện tại. Tuy nhiên, bạn không nên dựa vào số này. Tuy nhiên, bạn có thể dựa vào thực tế tất cả chúng được xác định để biểu diễn các giá trị âm.
ECPG_INFORMIX_NUM_OVERFLOW
Hàm trả về giá trị này nếu xảy ra tràn trong tính toán. Bên trong nó được định nghĩa là -1200 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_NUM_UNDERFLOW
Hàm trả về giá trị này nếu soi kèo bóng đá truoctran dòng chảy xảy ra trong tính toán. Bên trong nó được định nghĩa là -1201 (The61227_61237Định nghĩa).
ECPG_INFORMIX_DIVIDE_ZERO
Hàm trả về giá trị này nếu soi kèo bóng đá truoctran nỗ lực chia cho 0 được quan sát. Bên trong nó được định nghĩa là -1202 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_YEAR
Hàm trả về giá trị này nếu soi kèo bóng đá truoctran giá trị xấu trong soi kèo bóng đá truoctran năm được tìm thấy trong khi phân tích soi kèo bóng đá truoctran ngày. Bên trong nó được định nghĩa là -1204 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_MONTH
Hàm trả về giá trị này nếu soi kèo bóng đá truoctran giá trị xấu trong soi kèo bóng đá truoctran tháng được tìm thấy trong khi phân tích ngày. Bên trong nó được định nghĩa là -1205 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_DAY
Hàm trả về giá trị này nếu soi kèo bóng đá truoctran giá trị xấu trong soi kèo bóng đá truoctran ngày được tìm thấy trong khi phân tích ngày. Bên trong nó được định nghĩa là -1206 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_ENOSHORTDATE
Hàm trả về giá trị này nếu thói quen phân tích cú pháp cần soi kèo bóng đá truoctran biểu diễn ngày ngắn nhưng không nhận được chuỗi ngày theo độ dài phù hợp. Bên trong nó được định nghĩa là -1209 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_DATE_CONVERT
63038_63152InformixĐịnh nghĩa).
ECPG_INFORMIX_OUT_OF_MEMORY
Hàm trả về giá trị này nếu bộ nhớ cạn kiệt trong quá trình hoạt động soi kèo bóng đá truoctran chúng. Bên trong nó được định nghĩa là -1211 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_ENOTDMY
Hàm trả về giá trị này nếu thói quen phân tích cú pháp được cho là có mặt nạ định dạng (nhưMMDDYY
) Nhưng không phải tất cả các trường được liệt kê chính xác. Bên trong nó được định nghĩa là -1212 (TheInformixĐịnh nghĩa).
ECPG_Informix_Bad_Numeric
Các hàm trả về giá trị này nếu soi kèo bóng đá truoctran thói quen phân tích cú pháp không thể phân tích biểu diễn văn bản cho soi kèo bóng đá truoctran giá trị số vì nó chứa lỗi hoặc nếu soi kèo bóng đá truoctran thói quen không thể hoàn thành tính toán liên quan đến các biến số vì ít nhất soi kèo bóng đá truoctran trong các biến số là không hợp lệ. Bên trong nó được định nghĩa là -1213 (TheInformixĐịnh nghĩa).
ECPG_Informix_Bad_Exponent
Hàm trả về giá trị này nếu thói quen phân tích cú pháp không thể phân tích số mũ. Bên trong nó được định nghĩa là -1216 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_DATE
Hàm trả về giá trị này nếu thói quen phân tích cú pháp không thể phân tích ngày. Bên trong nó được định nghĩa là -1218 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_EXTRA_CHARS
Các hàm trả về giá trị này nếu soi kèo bóng đá truoctran thói quen phân tích cú pháp được truyền các ký tự phụ mà nó không thể phân tích được. Bên trong nó được định nghĩa là -1264 (TheInformixĐịnh nghĩa).
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm soi kèo bóng đá truoctran bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.