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 khô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
Tài liệu này dành cho phiên bản không được hỗ trợ của kèo bóng đá pháp.
Bạn có thể muốn xem cùng kèo bóng đá pháp trang chohiện tạiPhiên bản hoặc kèo bóng đá pháp trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá pháp33.8.

Phần này mô tả cách bạn có thể xử lý đặc biệt

  • Gọi lại có thể được cấu hình để xử lý cảnh báo và kèo bóng đá phápBất cứ khi nàolệnh.

  • Thông tin chi tiết về kèo bóng đá pháp hoặc cảnh báo có thểSQLCABiến.

33.8.1. Đặt cuộc gọi lại

Một phương pháp đơn giản để bắt kèo bóng đá pháp và cảnh báo là đặt một

EXEC SQL bất cứ khi nàođiều kiện Hành động;

điều kiệncó thể là kèo bóng đá pháp trong những

SQLERROR

Hành động được chỉ định được gọi bất cứ khi nào kèo bóng đá pháp

sqlwarning

Hành động được chỉ định được gọi bất cứ khi nào cảnh báo

Không tìm thấy

Hành động được chỉ định được gọi bất cứ khi nào kèo bóng đá pháp SQL

Hành độngcó thể là kèo bóng đá pháp trong những

Tiếp tục

Điều này có nghĩa là điều kiện bị bỏ qua.

Gotonhãn
đi đếnnhãn

Nhảy vào nhãn được chỉ định (sử dụng CGotocâu lệnh).

SQLPrint

In một thông báo ra kèo bóng đá pháp tiêu chuẩn. Điều này hữu ích cho

Dừng

gọiThoát (1), sẽ

do break

Thực hiện câu lệnh CBreak. Điều này chỉ nên được sử dụng trong các vòng lặpSwitchcâu lệnh.

gọitên(args)
dotên(args)

Gọi các hàm C được chỉ định với quy định

Tiêu chuẩn SQL chỉ cung cấp cho các hành độngTiếp tụcGoto(vàđi đến).

Đây là kèo bóng đá pháp ví dụ mà bạn có thể muốn sử dụng kèo bóng đá pháp cách đơn giản

EXEC SQL bất cứ khi nào sqlwarning sqlPrint;

câu lệnhEXEC SQL bất cứ khi nàoISEXEC SQL bất cứ khi nàovà câu lệnh SQL gây ra điều kiện, bất kể

/*
/*

33.8.2.

Để xử lý kèo bóng đá pháp mạnh hơn, giao diện SQL được nhúngSQLCA(khu vực giao tiếp SQL) có

Cấu trúc

(Trong kèo bóng đá pháp chương trình đa luồng, mọi luồng tự động đượcSQLCA. Điều này hoạt độngerrno.)

SQLCABao gồm cả hai cảnh báo vàSQLCAsẽ chỉ chứa thông tin về thông tin cuối cùng.

Nếu không xảy ra kèo bóng đá pháp trong lần cuốiSQLcâu lệnh,sqlca.sqlcodesẽ là 0 vàSQLCA.SQLSTATEsẽ là"00000". Nếu cảnh báo hoặc kèo bóng đá pháp xảy ra, thìsqlca.sqlcodesẽ âm vàSQLCA.SQLSTATEsẽ khác với"00000". kèo bóng đá pháp tích cựcsqlca.sqlcodeCho biết điều kiện vô hại,SQLCodeSQLSTATElà hai sơ đồ mã kèo bóng đá pháp khác nhau; Chi tiết xuất hiện bên dưới.

Nếu câu lệnh SQL cuối cùng thành công, thìsqlca.sqlerrd [1]chứa oid củasqlca.sqlerrd [2]Chứa số lượng

Trong trường hợp có kèo bóng đá pháp hoặc cảnh báo,sqlca.sqlerrm.sqlerrmcsẽ chứa kèo bóng đá pháp chuỗisqlca.sqlerrm.sqlerrmlChứa độ dài củasqlca.sqlerrm.sqlerrmc(kết quả củastrlen (), không thực sự thú vịSQLERRMCmảng;

Trong trường hợp cảnh báo,sqlca.sqlwarn [2]được đặt thànhW. (Trong tất cả các trường hợp khác, nó được đặt thành kèo bóng đá pháp cái gì đóW.) Nếusqlca.sqlwarn [1]được đặt thànhW, thì kèo bóng đá pháp giá trị đã bị cắt ngắn khi nó được lưu trữsqlca.sqlwarn [0]được đặt thànhWNếu bất kỳ ai khác

Các trườngSQLCAID,SQLCABC,SQLERRPvà các yếu tố còn lại củaSQLERRDSQLWARNhiện không chứa hữu ích

Cấu trúcSQLCAkhông được xác định

Đây là kèo bóng đá pháp ví dụ kết hợp việc sử dụngBất cứ khi nàoSQLCA,,SQLCAKhi xảy ra kèo bóng đá pháp. Điều này có lẽ hữu ích cho việc gỡ kèo bóng đá pháp hoặc"thân thiện với người dùng"Trình xử lý kèo bóng đá pháp.

EXEC SQL Bất cứ khi nào sqlerror gọi print_sqlca ();

Kết quả có thể trông như sau (ở đây là kèo bóng đá pháp do A

==== SQLCA ====

33.8.3.SQLSTATEVs.SQLCode

Các trườngSQLCA.SQLSTATEsqlca.sqlcodelà hai khác nhauSQLCodeđã được đánh dấuSQLSTATE.

SQLSTATElà kèo bóng đá pháp mảng năm ký tự.SQLSTATECó sơ đồ phân cấp:00000. TheSQLSTATEMã dành cho hầu hết các phần được xác định trongkèo bóng đá phápMáy chủ tự nhiên hỗ trợSQLSTATEMã kèo bóng đá pháp; Do đó caoPhụ lục A.

SQLCode, Mã kèo bóng đá pháp không dùng nữakèo bóng đá phápđã gán kèo bóng đá pháp số cụ thểSQLCodegiá trị cho việc sử dụng của nó, đó làSQLSTATESơ đồ, tương ứngSQLSTATEcũng được liệt kê. Có,SQLSTATELiệt kê trongPhụ lục ATrong mỗi trường hợp.

Đây là những người được gánSQLCodeGiá trị:

0 (ECPG_NO_ERROR)

Cho biết không có kèo bóng đá pháp. (SQLSTATE 00000)

100 (ECPG_NOT_FOUND)

Đây là kèo bóng đá pháp tình trạng vô hại cho thấy cái cuối cùng

Khi xử lý con trỏ trong vòng lặp, bạn có thể sử dụng điều này

WHER (1)

nhưngBất cứ khi nào không tìm thấylàm điều này kèo bóng đá pháp cách hiệu quả trong nội bộ, vì vậy có

-12 (ECPG_OUT_OF_MEMORY)

Cho biết bộ nhớ ảo của bạn đã cạn kiệt. Các-enomem. (Sqlstate ye001)

-200 (ECPG_UNSUPPORTED)

Cho biết bộ tiền xử lý đã tạo ra kèo bóng đá pháp cái gì đó

-201 (ECPG_TOO_MANY_ARGUMENT)

Điều này có nghĩa là lệnh được chỉ định thêm máy chủ

-202 (ECPG_TOO_FEW_ARGUMENT)

Điều này có nghĩa là lệnh được chỉ định ít máy chủ

-203 (ECPG_TOO_MANY_MATCHES)

Điều này có nghĩa là kèo bóng đá pháp truy vấn đã trả về nhiều hàng nhưng

-204 (ECPG_INT_FORMAT)

Biến máy chủ thuộc loạiintvà mốc thời gian trong cơ sở dữ kèo bóng đá pháp thuộc loại khác vàint. Thư viện sử dụngstrtol ()Đối với chuyển đổi này. (SQLSTATE

-205 (ECPG_UINT_FORMAT)

Biến máy chủ thuộc loạiKhông dấuvà mốc dữ kèo bóng đá pháp trong cơ sở dữ kèo bóng đá pháp khác nhauunsign int. Thư viện sử dụngstrtoul ()Đối với điều này

-206 (ECPG_FLOAT_FORMAT)

Biến máy chủ thuộc loạifloatvà mốc thời gian trong cơ sở dữ kèo bóng đá pháp là củaFloat. Thư việnstrtod ()Đối với điều này

-207 (ECPG_NUMERIC_FORMAT)

Biến máy chủ thuộc loạiSốvà mốc dữ kèo bóng đá pháp trong cơ sở dữ kèo bóng đá pháp là củaSốGiá trị.

-208 (ECPG_interval_format)

Biến máy chủ thuộc loạiKhoảngvà mốc dữ kèo bóng đá pháp trong cơ sở dữ kèo bóng đá pháp là củaKhoảngGiá trị.

-209 (ECPG_DATE_FORMAT)

Biến máy chủ thuộc loạingàyvà mốc thời gian trong cơ sở dữ kèo bóng đá pháp là củangàyGiá trị.

-210 (ECPG_TIMESTAMP_FORMAT)

Biến máy chủ thuộc loạiDấu thời gianvà mốc thời gian trong cơ sở dữ kèo bóng đá pháp là củaDấu thời gianGiá trị.

-211 (ECPG_CONVERT_BOOL)

Điều này có nghĩa là biến máy chủ thuộc loạiboolvà mốc dữ kèo bóng đá pháp trong cơ sở dữ kèo bóng đá pháp không phải là'T'cũng không'F'. (SQLSTATE 42804)

-212 (ECPG_EMPTY)

Câu lệnh được gửi đếnkèo bóng đá phápMáy chủ trống. (Cái này

-213 (ECPG_MISSING_INDICATOR)

Giá trị null đã được trả về và không có chỉ báo null

-214 (ECPG_NO_ARRAY)

kèo bóng đá pháp biến thông thường đã được sử dụng ở kèo bóng đá pháp nơi yêu cầu

-215 (ECPG_DATA_NOT_ARRAY)

Cơ sở dữ liệu đã trả về kèo bóng đá pháp biến thông thường ở kèo bóng đá pháp nơi

-220 (ECPG_NO_CONN)

Chương trình đã cố gắng truy cập kèo bóng đá pháp kết nối không

-221 (ECPG_NOT_CONN)

Chương trình đã cố gắng truy cập kèo bóng đá pháp kết nối

-230 (ECPG_INVALID_STMT)

Tuyên bố bạn đang cố gắng sử dụng đã không được

-239 (ECPG_INFORMIX_DUPLICATE_KEY)

kèo bóng đá pháp chính trùng lặp, vi phạm các ràng buộc duy nhất

-240 (ECPG_UNKNOWN_DESCRIPTOR)

Mô tả được chỉ định không được tìm thấy. Tuyên bố

-241 (ECPG_INVALID_DESCRIPTOR_INDEX)

Chỉ số mô tả được chỉ định nằm ngoài phạm vi.

-242 (ECPG_UNKNOWN_DESCRIPTOR_ITEM)

kèo bóng đá pháp mục mô tả không hợp lệ đã được yêu cầu. (Đây là kèo bóng đá pháp

-243 (ECPG_VAR_NOT_NUMERIC)

Trong quá trình thực hiện kèo bóng đá pháp câu lệnh động,

-244 (ECPG_VAR_NOT_CHAR)

Trong quá trình thực hiện kèo bóng đá pháp câu lệnh động,

-284 (ECPG_INFORMIX_SUBSELECT_NOT_ONE)

Kết quả của trình điều khiển con không phải là kèo bóng đá pháp hàng (Informix

-400 (ECPG_PGSQL)

Một số kèo bóng đá pháp gây ra bởikèo bóng đá phápMáy chủ. Thông điệpkèo bóng đá phápMáy chủ.

-401 (ECPG_TRANS)

Thekèo bóng đá phápMáy chủ

-402 (ECPG_CONNECT)

Kết nối cố gắng đến cơ sở dữ kèo bóng đá pháp không

-403 (ECPG_Duplicate_Key)

kèo bóng đá pháp chính trùng lặp, vi phạm ràng buộc duy nhất.

-404 (ECPG_SUBSELECT_NOT_ONE)

Kết quả cho trình điều khiển con không phải là kèo bóng đá pháp hàng duy nhất. (SQLSTATE

-602 (ECPG_WARNING_UNKNOWN_PORTAL)

Tên con trỏ không hợp lệ đã được chỉ định. (SQLSTATE

-603 (ecpg_warning_in_transaction)

Giao dịch đang được tiến hành. (SQLSTATE 25001)

-604 (ECPG_WARNING_NO_TRANSACTION)

Không có giao dịch hoạt động (đang tiến hành).

-605 (ECPG_WARNING_PORTAL_EXISTS)

Tên con trỏ hiện có đã được chỉ định. (SQLSTATE