Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.4.3 |  CUBRID 9.0.0 | 

cci_escape_string

설명

입력 문자열을 CUBRID 질의문에서 사용할 수 있는 문자열로 변환한다. 이 함수의 인자로 연결 핸들 또는 no_backslash_escapes 설정 값, 출력 문자열 포인터, 입력 문자열 포인터, 입력 문자열의 바이트 길이, 오류 정보를 담을 T_CCI_ERROR 구조체 변수의 주소가 지정된다.

시스템 파라미터 no_backslash_escapes의 값이 yes(기본값)이거나 연결 핸들 위치에 CCI_NO_BACKSLASH_ESCAPES_TRUE 값을 전달하는 경우, 변환되는 문자는 다음과 같다.

  • ' (single quote) => ' + ' (escaped single quote)

시스템 파라미터 no_backslash_escapes의 값이 no이거나 연결 핸들 위치에 CCI_NO_BACKSLASH_ESCAPES_FALSE 값을 전달하는 경우, 변환되는 문자는 다음과 같다.

  • (new line character, ASCII 10) => + n (백슬래시 + 알파벳 n)
  • (carrage return, ASCII 13) => + r (백슬래시 + 알파벳 r)
  • 0 (ASCII 0) => + 0 (백슬래시 + 0(ASCII 48)
  •  (백슬래시) => +

결과 문자열을 저장할 공간은 length 인자로 사용자가 직접 할당하며, 최대 입력 문자열의 바이트 길이 * 2 + 1만큼이 필요할 수 있다.

구문

long cci_escape_string(int conn_handle, char *to, const char *from, unsigned long length, T_CCI_ERROR *err_buf)

  • conn_handle : (IN) 연결 핸들 또는 no_backslash_escapes 설정 값. 연결 핸들이 주어지는 경우, 연결된 서버의 no_backslash_escapes 파라미터 설정 값을 읽어서 변환 방법을 결정한다. 연결 핸들 대신 CCI_NO_BACKSLASH_ESCAPES_TRUE 또는 CCI_NO_BACKSLASH_ESCAPES_FALSE 설정 값을 전달하여 변환 방법을 결정할 수 있다.
  • to : (OUT) 결과 문자열
  • from : (IN) 입력 문자열
  • length : (IN) 입력 문자열의 최대 바이트 길이
  • err_buf : (OUT) 데이터베이스 에러 버퍼
리턴 값
  • 성공 : 변경된 문자열의 바이트 길이
  • 실패 : 에러 코드
에러 코드
  • CCI_ER_CON_HANDLE
  • CCI_ER_COMMUNICATION