ECPG
소위에서 실행할 수 있습니다Informix 호환성 모드. 이 모드가 활성화되면 마치 마치처럼 행동하려고합니다.Informix프리 컴파일러Informixe/sql. 일반적으로 말하면 이것은 대신 달러 표시를 사용할 수 있습니다.Exec SQL
내장 된 SQL 명령을 소개하기위한 원시 :
$ int j = 3;
사이에 공백이 없어야합니다$
및 다음 전처리 지침, 즉포함
, 정의
, ifdef
등. 그렇지 않으면, 사전 처리기는 토큰을 호스트 변수로 구문 분석합니다.
두 가지 호환성 모드가 있습니다.Informix
, informix_se
이 호환성 모드를 사용하는 프로그램을 연결할 때libcompat
ECPG와 함께 배송됩니다.
이전에 설명 된 구문 설탕 외에도Informix호환성 모드는 데이터의 입력, 출력 및 변환에 대한 일부 기능뿐만 아니라 E/SQL에서 ECPG로 알려진 임베디드 SQL 문을 포장합니다.
Informix호환성 모드는 ECPG의 PGTYPESLIB 라이브러리에 밀접하게 연결되어 있습니다. pgtypeslib는 SQL 데이터 유형을 C 호스트 프로그램 내의 데이터 유형에 매핑하고 대부분의 추가 기능Informix호환성 모드를 사용하면 해당 C 호스트 프로그램 유형에서 작동 할 수 있습니다. 그러나 호환성의 범위는 제한되어 있습니다.Informix12477_12665Informix현재. 또한 일부 데이터 유형은 다릅니다.PostgreSQL의 DateTime 및 간격 유형은 예를 들어 범위에 대해 알지 못합니다연도 ~ 분
따라서 ECPG에서도 지원하지 않을 것입니다.
오른쪽 트림 문자열 데이터를 저장하기위한 Informix- 특이 "문자열"의사 유형은 이제 사용하지 않고 Informix-Mode에서 지원됩니다.typedef
. 실제로 Informix-Mode에서 ECPG는 포함 된 소스 파일을 처리하는 것을 거부합니다.typedef somegype String;
Exec SQL 시작 선언 섹션;
닫기 데이터베이스
#이 문장은 현재 연결을 닫습니다. 사실, 이것은 ECPG의 동의어입니다현재 연결 끊기
:
$ 닫기 데이터베이스; / * 현재 연결을 닫습니다 */
무료 cursor_name
#ECPG의 차이로 인해 Informix의 ESQL/C (즉, 순수한 문법 변환이며 어떤 단계가 기본 런 타임 라이브러리에 의존하는 단계)무료 cursor_name
ECPG의 문. ECPG에서이기 때문입니다.커서 선언
커서 이름에 사용하는 런타임 라이브러리로 함수 호출로 변환되지 않습니다. 이것은 ECPG 런타임 라이브러리에서 SQL 커서의 런타임 부기가 없음을 의미합니다.
12646_12665
#12646_12665
동의어입니다Deallocate 준비 명령문 _name
.
Informix 호환 모드에 설명 된 것과 다른 구조를 지원합니다섹션 34.7.2. 아래를 참조하십시오 :
struct sqlvar_compat
글로벌 속성은 다음과 같습니다.
당사자 특성은 아래에 있으며에 저장됩니다.sqlvar
배열 :
sqltype
#필드의 유형. 상수가sqltypes.h
sqllen
#필드 데이터의 길이.
sqldata
#필드 데이터에 대한 포인터. 포인터는char *
타입, 이에 의해 지적 된 데이터는 이진 형식입니다. 예:
int intval;
sqlind
#널 표시기에 대한 포인터. 설명 또는 페치로 반환하면 항상 유효한 포인터입니다.실행 ... SQLDA 사용;
그런 다음 Null-Pointer 값은이 필드의 값이 널이 없음을 의미합니다. 그렇지 않으면 유효한 포인터 및sqlitype
올바르게 설정해야합니다. 예:
if ( *(int2 *) sqldata-> sqlvar [i] .sqlind! = 0)
sqlname
#필드 이름. 0- 종료 문자열.
sqlformat
#Informix에 예약, 값pqfformat
필드 용.
sqlitype
#널 표시기 데이터의 유형. 서버에서 데이터를 반환 할 때 항상 SQLSMINT입니다.SQLDA
매개 변수화 쿼리에 사용되며 데이터는 세트 유형에 따라 처리됩니다.
sqlilen
#널 표시기 데이터의 길이.
SQLXID
#필드의 확장 유형, 결과pqftype
.
sqltypename
sqltypelen
SQLOWNERLEN
sqlsourcetype
sqlownername
SQLSOURCEID
sqlflags
sqlreserved
#미사용.
sqlilongdata
#sqldata
ifsqllen
32KB보다 큽니다.
예 :
exec sql 포함 sqlda.h;
자세한 내용은을 참조하십시오.sqlda.h
헤더 및src/interfaces/ecpg/test/compat_informix/sqlda.pgc
회귀 테스트.
Decadd
#두 가지 소수점 유형 값 추가.
int decadd (Decimal *arg1, Decimal *arg2, Decimal *sum);
토토 사이트 십진수 유형의 첫 번째 피연산자에 대한 포인터를 수신합니다 (arg1
), 유형의 두 번째 피연산자에 대한 포인터 (arg2
) 및 sum ( 유형 10 진수 값에 대한 포인터Sum
). 성공시 토토 사이트 0을 반환합니다.ecpg_informix_num_overflow
오버플로의 경우 반환됩니다.ecpg_informix_num_underflow
언더 플로우의 경우. -1은 다른 실패로 반환되고errno
각각으로 설정되었습니다errno
pgtypeslib의 수
deccmp
#유형의 두 가지 변수 비교.
int deccmp (Decimal *arg1, Decimal *arg2);
토토 사이트 첫 번째 소수점 값에 대한 포인터를 수신합니다 (arg1
), 두 번째 소수점 값에 대한 포인터 (arg2
) 그리고 어느 것이 더 큰 값인지를 나타내는 정수 값을 반환합니다.
1, 값이라면arg1
포인트가 값보다 큽니다var2
포인트
-1, 값인 경우arg1
포인트로 포인트 값보다 작습니다arg2
포인트
0, 값이라면arg1
포인트 및 가치arg2
포인트가 평등하다
Deccopy
#소수점 값 복사.
void deccopy (Decimal *Src, Decimal *Target);
이 토토 사이트 첫 번째 인수로 복사 해야하는 소수점 값에 대한 포인터를 수신합니다 (SRC
) 및 유형 10 진수의 대상 구조에 대한 포인터 (대상
) 두 번째 인수로.
deccvasc
#ASCII 표현에서 값을 소수점 유형으로 변환합니다.
int deccvasc (char *cp, int len, decimal *np);
함수는 변환 할 숫자의 문자열 표현을 포함하는 문자열에 대한 포인터를 수신합니다 (CP
)와 길이Len
. NP
| 작전 결과를 절약하는 소수점 값에 대한 포인터입니다.
유효한 형식은 예를 들어 :-2
, .794
, +3.44
, 592.49E07
또는-32.84E-4
.
함수는 성공시 0을 반환합니다. 오버플로 또는 언더 플로우가 발생한 경우ecpg_informix_num_overflow
또는ecpg_informix_num_underflow
반환됩니다. ASCII 표현을 구문 분석 할 수 없다면ecpg_informix_bad_numeric
반환 또는ecpg_informix_bad_exponent
지수를 구문 분석하는 동안이 문제가 발생한 경우
deccvdbl
#유형 값을 두 배의 값을 유형의 값으로 변환합니다.
int deccvdbl (Double DBl, Decimal *np);
이 토토 사이트 첫 번째 인수로 변환 해야하는 유형의 변수를 수신합니다 (DBL
). 두 번째 인수로서 (NP
),이 토토 사이트 작업 결과를 유지 해야하는 소수 변수에 대한 포인터를 수신합니다.
토토 사이트 성공시 0을 반환하고 변환이 실패한 경우 음수 값을 반환합니다.
deccvint
#int 유형 값을 유형의 값으로 변환합니다.
int deccvint (int in, decimal *np);
토토 사이트 첫 번째 인수로 변환 해야하는 유형 int의 변수를 수신합니다 (in
). 두 번째 인수로서 (NP
),이 토토 사이트 작업 결과를 유지 해야하는 소수 변수에 대한 포인터를 수신합니다.
토토 사이트 성공시 0을 반환하고 변환이 실패한 경우 음수 값을 반환합니다.
deccvlong
#유형의 값을 유형의 값으로 변환하십시오.
int deccvlong (Long lng, Decimal *np);
토토 사이트 첫 번째 인수로 변환 해야하는 유형의 변수를 수신합니다 (LNG
). 두 번째 인수로서 (NP
),이 토토 사이트 작업 결과를 유지 해야하는 소수 변수에 대한 포인터를 수신합니다.
토토 사이트 성공시 0을 반환하고 변환이 실패한 경우 음수 값을 반환합니다.
DECDIV
#십진제 유형의 두 변수를 나눕니다.
int decdiv (소수 *n1, 소수 *n2, 소수 *결과);
토토 사이트 첫 번째 ( 변수에 대한 포인터를받습니다.n1
) 및 두 번째 (n2
) 피연산자 및 계산n1
/n2
. 결과
는 작업 결과를 유지 해야하는 변수에 대한 포인터입니다.
성공시, 부서가 실패하면 0이 반환되고 음수 값이 반환됩니다. 오버플로 또는 언더 플로가 발생하면 함수가 반환ecpg_informix_num_overflow
또는ecpg_informix_num_underflow
각각. 0으로 나누려는 시도가 관찰되면 함수가 반환ecpg_informix_divide_zero
.
Decmul
#두 가지 소수점 값을 곱하십시오.
int decmul (10 진수 *n1, 소수 *n2, 소수 *결과);
토토 사이트 첫 번째 ( 변수에 대한 포인터를받습니다.n1
) 및 두 번째 (n2
) 피연산자 및 계산n1
*n2
. 결과
는 작업 결과를 유지 해야하는 변수에 대한 포인터입니다.
성공시, 곱셈이 실패하면 0이 반환되고 음수 값이 반환됩니다. 오버플로 또는 언더 플로가 발생하면 함수가 반환ecpg_informix_num_overflow
또는ecpg_informix_num_underflow
각각.
DECSUB
#하나의 소수점 값을 다른 사람에게 빼십시오.
int decsub (소수 *n1, 소수 *n2, 소수 *결과);
토토 사이트 첫 번째 ( 변수에 대한 포인터를받습니다.n1
) 및 두 번째 (n2
) 피연산자 및 계산n1
-n2
. 결과
는 작업 결과를 유지 해야하는 변수에 대한 포인터입니다.
성공시 0이 반환되고 뺄셈이 실패하면 음수 값이 반환됩니다. 오버플로 또는 언더 플로가 발생하면 함수가 반환ecpg_informix_num_overflow
또는ecpg_informix_num_underflow
각각.
dectoasc
#CHAR* 문자열에서 ASCII 표현으로 소수 유형 변수를 변환합니다.
int dectoasc (Decimal *np, char *cp, int len, int right)
이 토토 사이트 유형의 변수에 대한 포인터를 수신합니다 (NP
) 텍스트 표현으로 변환됩니다.CP
는 작업 결과를 유지 해야하는 버퍼입니다. 매개 변수오른쪽
소수점의 오른쪽 오른쪽 오른쪽 수는 출력에 포함되어야합니다. 결과는이 소수점 자리로 반올림됩니다.오른쪽
~ -1은 사용 가능한 모든 소수 자릿수가 출력에 포함되어야 함을 나타냅니다. 출력 버퍼의 길이 인 경우Len
후행 제로 바이트를 포함하여 텍스트 표현을 보유하기에 충분하지 않습니다.*
문자는 결과에 저장되고 -1이 반환됩니다.
토토 사이트 버퍼 인 경우 -1을 반환합니다CP
너무 작거나ecpg_informix_out_of_memory
메모리가 소진 된 경우.
dectodbl
#십진제 유형 변수를 이중으로 변환합니다.
int dectodbl (Decimal *np, double *dblp);
토토 사이트 변환 할 소수 값에 대한 포인터를 수신합니다 (NP
) 및 작업 결과를 유지 해야하는 이중 변수에 대한 포인터 (DBLP
).
성공시 0이 반환되고 변환이 실패하면 음수 값이 반환됩니다.
dectoint
#십진제 유형 변수를 정수로 변환합니다.
int dectoint (Decimal *np, int *ip);
토토 사이트 변환 할 소수 값에 대한 포인터를 수신합니다 (NP
) 및 작업 결과를 유지 해야하는 정수 변수에 대한 포인터 (IP
).
성공시, 변환이 실패하면 0이 반환되고 음수 값이 반환됩니다. 오버플로가 발생하면ecpg_informix_num_overflow
반품.
ECPG 구현은와 다릅니다.Informix구현.Informix정수를 -32767에서 32767로 범위로 제한하는 반면 ECPG 구현의 한계는 아키텍처 (에 따라 다릅니다.int_min .. int_max
).
dectolong
#소수점 유형 변수를 긴 정수로 변환합니다.
int dectolong (Decimal *np, long *lngp);
토토 사이트 변환 할 소수 값에 대한 포인터를 수신합니다 (NP
) 및 작업 결과를 유지 해야하는 긴 변수에 대한 포인터 (LNGP
).
성공시, 변환이 실패하면 0이 반환되고 음수 값이 반환됩니다. 오버플로가 발생하면ecpg_informix_num_overflow
반품.
ECPG 구현은와 다릅니다.Informix구현.Informix긴 정수를 긴 정수를 -2,147,483,647에서 2,147,483,647로 제한하는 반면 ECPG 구현의 한계는 아키텍처에 따라 다릅니다 (.-long_max .. long_max
).
rdatest
#날짜를 c char* 문자열로 변환합니다.
int rdatest (날짜 d, char *str);
토토 사이트 두 개의 인수를 받고, 첫 번째 인수는 convert (의 날짜입니다.d
) 두 번째는 대상 문자열에 대한 포인터입니다. 출력 형식은 항상yyyy-mm-dd
이므로 문자열에 대해 최소 11 바이트 (제로 바이트 터미네이터 포함)를 할당해야합니다.
토토 사이트 성공시 0을 반환하고 오류의 경우 음수 값을 반환합니다.
ECPG의 구현은와 다릅니다.Informix구현. 안에Informix형식은 환경 변수를 설정하여 영향을받을 수 있습니다. 그러나 ECPG에서는 출력 형식을 변경할 수 없습니다.
rstrdate
#날짜의 텍스트 표현을 구문 분석합니다.
int rstrdate (char *str, date *d);
토토 사이트 변환 날짜의 텍스트 표현을받습니다 (str
) 및 유형의 변수에 대한 포인터 (d
). 이 함수는 형식 마스크를 지정할 수 없습니다.Informixmm/dd/yyyy
. 내부적 으로이 기능은를 통해 구현됩니다.rdefmtdate
. 그러므로,rstrdate
더 빠르지 않으며 선택이 있으면 선택해야합니다rdefmtdate
이를 통해 형식 마스크를 명시 적으로 지정할 수 있습니다.
토토 사이트와 동일한 값을 반환합니다.rdefmtdate
.
rtoday
#현재 날짜 받기.
void rtoday (날짜 *d);
토토 사이트 날짜 변수에 대한 포인터를 수신합니다 (d
) 현재 날짜로 설정됩니다.
내부적 으로이 토토 사이트를 사용합니다.pgtypesdate_today
기능.
rjulmdy
#유형 날짜 변수에서 하루, 달 및 연도의 값을 추출합니다.
int rjulmdy (날짜 d, 짧은 mdy [3]);
토토 사이트 날짜를받습니다d
그리고 3 개의 짧은 정수 값 배열에 대한 포인터mdy
. 변수 이름은 순차 순서를 나타냅니다.mdy [0]
월 수를 포함하도록 설정됩니다.mdy [1]
오늘의 가치로 설정되고mdy [2]
연도가 포함됩니다.
함수는 현재 항상 0을 반환합니다.
내부적으로 토토 사이트를 사용합니다.pgtypesdate_julmdy
기능.
rdefmtdate
#형식 마스크를 사용하여 문자열을 유형 날짜 값으로 변환합니다.
int rdefmtdate (날짜 *d, char *fmt, char *str);
함수는 작동 결과를 유지 해야하는 날짜 값에 대한 포인터를 수신합니다 (d
), 날짜를 구문 분석하는 데 사용할 형식 마스크 (FMT
) 및 날짜 (의 텍스트 표현을 포함하는 C char* 문자열str
). 텍스트 표현은 형식 마스크와 일치 할 것으로 예상됩니다.yy
또는yyyy
올해의 위치를 나타내는mm
달의 위치를 나타내는 것과DD
오늘의 위치를 표시합니다.
함수는 다음 값을 반환합니다.
0- 함수가 성공적으로 종료되었습니다.
ECPG_INFORMIX_ENOSHORTDATE
- 날짜에는 일, 월 및 연도 사이에 구분 기가 포함되어 있지 않습니다. 이 경우 입력 문자열의 길이는 정확히 6 또는 8 바이트이어야하지만 그렇지 않습니다.
ecpg_informix_enotdmy
- 형식 문자열은 연도, 월 및 일의 순차 순서를 올바르게 나타내지 않았습니다.
ecpg_informix_bad_day
- 입력 문자열에는 유효한 날이 포함되어 있지 않습니다.
ecpg_informix_bad_month
- 입력 문자열에는 유효한 달이 포함되어 있지 않습니다.
ecpg_informix_bad_year
- 입력 문자열에는 유효한 연도가 포함되어 있지 않습니다.
내부적 으로이 토토 사이트를 사용하도록 구현됩니다.pgtypesdate_defmt_asc
함수. 예제 입력 테이블에 대한 참조를 참조하십시오.
rfmtdate
#형식 마스크를 사용하여 유형 날짜 변수를 텍스트 표현으로 변환합니다.
int rfmtdate (날짜 d, char *fmt, char *str);
토토 사이트 변환 날짜를 수신합니다 (d
), 형식 마스크 (FMT
) 및 날짜 (의 텍스트 표현을 보유 할 문자열str
).
성공시 0이 반환되고 오류가 발생하면 음수 값이 반환됩니다.
내부적 으로이 토토 사이트를 사용합니다.pgtypesdate_fmt_asc
함수, 예제는 참조를 참조하십시오.
rmdyjul
#날짜, 달 및 날짜를 지정하는 3 개의 짧은 정수 배열에서 날짜 값을 만듭니다.
int rmdyjul (짧은 mdy [3], 날짜 *d);
토토 사이트 3 개의 짧은 정수의 배열을 수신합니다 (mdy
) 및 작업 결과를 유지 해야하는 유형 날짜 변수에 대한 포인터.
현재 함수는 항상 0을 반환합니다.
내부적으로 함수가 함수를 사용하도록 구현됩니다pgtypesdate_mdyjul
.
rdayofweek
#날짜 값에 대한 요일을 나타내는 숫자를 반환합니다.
int rdayofweek (날짜 d);
토토 사이트 날짜 변수를 수신합니다d
이 날짜의 요일을 나타내는 유일한 논쟁으로 반환합니다.
0- 일요일
1- 월요일
2- 화요일
3- 수요일
4- 목요일
5- 금요일
6- 토요일
내부적으로 함수가 함수를 사용하도록 구현됩니다pgtypesdate_dayofweek
.
dtcurrent
#현재 타임 스탬프 검색.
void dtcurrent (timestamp *ts);
이 함수는 현재 타임 스탬프를 검색하고이를 타임 스탬프 변수에 저장합니다.TS
dtcvasc
#텍스트 표현에서 타임 스탬프 변수로 타임 스탬프를 파싱합니다.
int dtcvasc (char *str, timestamp *ts);
토토 사이트 문자열을 구문 분석합니다 (str
) 및 작업 결과를 유지 해야하는 타임 스탬프 변수에 대한 포인터 (TS
).
토토 사이트 성공시 0을 반환하고 오류의 경우 음수 값을 반환합니다.
내부적 으로이 토토 사이트를 사용합니다.pgtypestimestamp_from_asc
함수. 예제 입력이있는 테이블에 대한 참조를 참조하십시오.
dtcvfmtasc
#형식 마스크를 타임 스탬프 변수로 사용하여 텍스트 표현에서 타임 스탬프를 파싱합니다.
dtcvfmtasc (char *inbuf, char *fmtstr, timestamp *dtvalue)
토토 사이트 문자열을 구문 분석합니다 (Inbuf
), 사용하는 형식 마스크 (FMTSTR
) 및 작업 결과를 유지 해야하는 타임 스탬프 변수에 대한 포인터 (dtValue
).
이 토토 사이트를 통해 구현됩니다.PGTYPESTIMESTAMP_DEFMT_ASC
함수. 사용할 수있는 형식 지정자 목록은 문서를 참조하십시오.
토토 사이트 성공시 0을 반환하고 오류의 경우 음수 값을 반환합니다.
dtsub
#하나의 타임 스탬프를 다른 타임 스탬프에서 빼고 유형 간격의 변수를 반환합니다.
int dtsub (timestamp *ts1, timestamp *ts2, interval *iv);
토토 사이트 타임 스탬프 변수를 빼게됩니다.TS2
타임 스탬프 변수를 가리키는TS1
결과를 간격 변수에 포인트하고 저장합니다.IV
성공시, 오류가 발생하면 함수가 0과 음수 값을 반환합니다.
dttoasc
#타임 스탬프 변수를 C char* 문자열로 변환합니다.
int dttoasc (timestamp *ts, char *output);
이 토토 사이트 timestamp 변수에 대한 포인터를 수신합니다 (TS
) 및 작업 결과를 유지 해야하는 문자열 (출력
). 그것은 변환TS
SQL 표준에 따른 텍스트 표현으로yyyy-mm-dd hh : mm : ss
.
성공시, 오류가 발생하면 함수가 0과 음수 값을 반환합니다.
dttofmtasc
#형식 마스크를 사용하여 타임 스탬프 변수를 c char*로 변환합니다.
int dtttofmtasc (timestamp *ts, char *output, int str_len, char *fmtstr);
이 토토 사이트 첫 번째 인수로 변환하기 위해 타임 스탬프에 대한 포인터를 수신합니다 (TS
), 출력 버퍼에 대한 포인터 (출력
), 출력 버퍼에 할당 된 최대 길이 (str_len
) 및 변환에 사용할 형식 마스크 (FMTSTR
).
성공시, 오류가 발생하면 함수가 0과 음수 값을 반환합니다.
내부적 으로이 토토 사이트를 사용합니다.pgtypestimestamp_fmt_asc
함수. 어떤 형식 마스크 지정자를 사용할 수 있는지에 대한 정보는 참조를 참조하십시오.
in andASC
#간격 변수를 C char* 문자열로 변환합니다.
int interasc (Interval *i, char *str);
토토 사이트 convert ( 간격 변수에 대한 포인터를 수신합니다.i
) 및 작업 결과를 유지 해야하는 문자열 (str
). 그것은 변환i
SQL 표준에 따른 텍스트 표현으로yyyy-mm-dd hh : mm : ss
.
성공시, 오류가 발생하면 함수가 0과 음수 값을 반환합니다.
rfmtlong
#형식 마스크를 사용하여 긴 정수 값을 텍스트 표현으로 변환합니다.
int rfmtlong (long lng_val, char *fmt, char *outbuf);
토토 사이트 긴 값을받습니다lng_val
, 형식 마스크FMT
및 출력 버퍼에 대한 포인터outbuf
. 형식 마스크에 따라 긴 값을 텍스트 표현으로 변환합니다.
형식 마스크는 다음 형식으로 구성 될 수 있습니다.
*
(별표) -이 위치가 비워지면 별표로 채우십시오.
&
(Ampersand) -이 위치가 비워지면 0으로 채우십시오.
#
- 이끄는 제로를 공란으로 돌립니다.
<
- 문자열의 숫자를 좌회전합니다.
,
51226_51322
.
(기간) -이 문자는 숫자의 전체 수 부분을 분수 부분에서 분리합니다.
-
(마이너스) - 숫자가 음수 인 경우 마이너스 부호가 나타납니다.
+
(플러스) - 숫자가 양수 값이면 플러스 부호가 나타납니다.
(
- 음수 앞의 마이너스 부호를 대체합니다. 마이너스 부호가 나타나지 않습니다.
)
-이 문자는 마이너스를 대체하고 음수 값 뒤에 인쇄됩니다.
$
- 통화 기호.
Rupshift
#문자열을 대문자로 변환하십시오.
void rupshift (char *str);
토토 사이트 문자열에 대한 포인터를 수신하고 모든 소문자 문자를 대문자로 변환합니다.
byleng
#후행 공백을 계산하지 않고 문자열의 문자 수를 반환합니다.
int byleng (char *str, int len);
이 토토 사이트 고정 길이 문자열이 첫 번째 인수 (로 기대합니다.str
) 두 번째 인수로서의 길이 (Len
). 그것은 유효 문자의 수, 즉 후행 블랭크가없는 줄의 길이를 반환합니다.
LDCHAR
#고정 길이 문자열을 널리 터진 문자열로 복사하십시오.
void ldchar (char *src, int len, char *dest);
토토 사이트 복사 할 고정 길이 문자열을 수신합니다 (SRC
), 길이 (Len
) 및 대상 메모리에 대한 포인터 (dest
). 적어도 예약해야합니다Len+1
문자열의 바이트dest
토토 사이트 최대 복사Len
새 위치에 바이트 (소스 문자열에 후행 블랭크가있는 경우 적음) 및 Null-Terminator를 추가합니다.
rgetmsg
#int rgetmsg (int msgnum, char *s, int maxsize);
이 기능은 존재하지만 현재 구현되지 않았습니다!
rtypalign
#int rtypalign (int offset, int type);
이 기능은 존재하지만 현재 구현되지 않았습니다!
rtypmsize
#int rtypmsize (int type, int len);
이 기능은 존재하지만 현재 구현되지 않았습니다!
rtypwidth
#int rtypwidth (int sqltype, int sqllen);
이 기능은 존재하지만 현재 구현되지 않았습니다!
RSETNULL
#변수를 null로 설정합니다.
int rsetnull (int t, char *ptr);
토토 사이트 변수의 유형을 나타내는 정수와 c char* 포인터로 캐스팅되는 변수 자체에 대한 포인터를 나타냅니다..
다음 유형이 있습니다 :
CCHARTYPE
- 유형 변수의 경우char
또는char*
cshorttype
- 유형 변수의 경우짧은 int
Cinttype
- 유형 변수의 경우int
cbooltype
- 유형 변수의 경우부울
cfloattype
- 유형 변수의 경우float
ClongType
- 유형 변수의 경우Long
CDOUBLETYPE
- 유형 변수의 경우더블
CDECIMATTEPE
- 유형 변수의 경우소수점
CDATETYPE
- 유형 변수의 경우날짜
CDTIMETYPE
- 유형 변수의 경우타임 스탬프
이 기능에 대한 호출의 예는 다음과 같습니다.
$ char c [] = "abc";
Risnull
#변수가 null인지 테스트합니다.
int risnull (int t, char *ptr);
토토 사이트 테스트 할 변수의 유형을 수신합니다 (t
)이 변수에 대한 포인터 (PTR
). 후자는 숯*에 캐스트되어야한다는 점에 유의하십시오.RSETNULL
가능한 변수 유형 목록의 경우
이 기능을 사용하는 방법의 예는 다음과 같습니다.
$ char c [] = "abc";
여기의 모든 상수는 오류를 설명하고 모든 상수는 음수 값을 나타내도록 정의됩니다. 다른 상수에 대한 설명에서 현재 구현에서 상수가 나타내는 값을 찾을 수도 있습니다.
ecpg_informix_num_overflow
#함수 계산에서 오버플로가 발생하면이 값을 반환합니다. 내부적으로 -1200으로 정의됩니다 (Informix정의).
ecpg_informix_num_underflow
#함수 계산에서 언더 플로가 발생하면이 값을 반환합니다. 내부적으로 -1201 (로 정의됩니다.Informix정의).
ecpg_informix_divide_zero
#함수는 0으로 나누려는 시도가 관찰되면이 값을 반환합니다. 내부적으로 -1202로 정의됩니다 (Informix정의).
ecpg_informix_bad_year
#함수는 날짜를 구문 분석하는 동안 1 년 동안 나쁜 값이 발견되면이 값을 반환합니다. 내부적으로 -1204로 정의됩니다 (Informix정의).
ecpg_informix_bad_month
#함수는 날짜를 구문 분석하는 동안 한 달의 나쁜 값이 발견되면이 값을 반환합니다. 내부적으로 -1205로 정의됩니다 (Informix정의).
ecpg_informix_bad_day
#기능은 날짜를 구문 분석하는 동안 하루의 나쁜 값이 발견되면이 값을 반환합니다. 내부적으로 -1206으로 정의됩니다 (Informix정의).
ECPG_INFORMIX_ENOSHORTDATE
#함수는 구문 분석 루틴에 짧은 날짜 표현이 필요하지만 날짜 문자열을 올바른 길이로 얻지 못한 경우이 값을 반환합니다. 내부적으로 -1209로 정의됩니다 (Informix정의).
ecpg_informix_date_convert
#함수 날짜 서식 중에 오류가 발생하면이 값을 반환합니다. 내부적으로 -1210으로 정의됩니다 (Informix정의).
ecpg_informix_out_of_memory
#함수는 작동 중에 메모리가 소진 된 경우이 값을 반환합니다. 내부적으로 -1211 (로 정의됩니다.Informix정의).
ecpg_informix_enotdmy
#토토 사이트 구문 분석 루틴이 형식 마스크를 가져와야하는 경우이 값을 반환합니다 (kuemmddyy
) 그러나 모든 필드가 올바르게 나열된 것은 아닙니다. 내부적으로 -1212로 정의됩니다 (Informix정의).
ecpg_informix_bad_numeric
#함수는 오류가 포함되어 있기 때문에 구문 분석 루틴이 숫자 값에 대한 텍스트 표현을 구문 분석 할 수 없거나 숫자 변수 중 하나 이상이 잘못 되었기 때문에 숫자 변수와 관련된 계산을 완료 할 수없는 경우이 값을 반환합니다. 내부적으로 -1213 (로 정의됩니다.Informix정의).
ecpg_informix_bad_exponent
#함수는 구문 분석 루틴이 지수를 구문 분석 할 수없는 경우이 값을 반환합니다. 내부적으로 -1216 (로 정의됩니다.Informix정의).
ecpg_informix_bad_date
#함수 구문 분석 루틴이 날짜를 구문 분석 할 수없는 경우이 값을 반환합니다. 내부적으로 -1218 (로 정의됩니다.Informix정의).
ecpg_informix_extra_chars
#함수는 구문 분석 루틴이 추가 문자로 전달되면이 값을 반환합니다. 구문 분석 할 수 없습니다. 내부적으로 -1264로 정의됩니다 (Informix정의).
올바르지 않은 문서에 아무것도 표시되면 일치하지 않습니다.이 양식문서 문제를보고하려면