델파이에서는 스트링내에 '(single quatation mark)는 반드시 2개를 연이어 써주어야 합니다.
c에서 \가 메타문자로 쓰여서 \를 표현시에 \를 연이어 써주는 것과 같습니다.
초보빌더 님이 쓰신 글 :
: SELECT
: ....
: SQL.add(' ISNULL(B.USER_FRN,'N') AS USER_FRN');
: SQL.add(' FROM BSC A, EMPLOYEE B');
: SQL.add(' WHERE A.BSC_JUMIN = :BEGINDATE);
: SQL.EndUpdate;
: Parameters.ParamByName('BEGINDATE').Value := '2004';
: 실제 쿼리문에서는 ISNULL 부분을 ISNULL(B.USER_FRN,'N') AS USER_FRN으로 해서 결과를 만들어냈습니다.
: 그런데 델파이에서 ISNULL(B.USER_FRN,'') AS USER_FRN :N부분을 옆과 같이 주면 에러가 없이 실행이 되는데 'N'으로 주면 에러가 발생하고
: ''N'', ''''N'''' 으로 주게되면 컴파일시 에러는 안나는데 실행시 BEGINDATE에서 에러가 발생합니다.
: :IMSI_N 으로 주고 ParamByName으로 주어봤는데도 에러가 나네요.
: 어떻게 해야하나요?
: 답변 드려요
:
: 테스트를 계속하다보니 위의 'N'뿐만이 아니라 '' 경우에도 결과가 안나오네요
: ISNULL(A.BSC_INCOME, '') AS INCOME <- 이 경우에도 컴파일이나 실행시 에러는 안나는데 INCOME이라는 필드를 생성 못하네요 ㅠ.,ㅠ;
:
: 쿼리 분석기에서는 문제없이 잘 된것들인데..
:
: '' <- 이 문제가 되는 것 같기는 한데
: '' ''
: '''' ''''
: :BLANK ParamByName('BLANK').Value
: 등등 해봤는데 컴파일 혹은 실행시 에러가 발생합니다.
: 위의 '' '' '''' '''' 경우 아래쪽의 쿼리문의 :DATA 에서 에러가 나네요
|