안녕하세요.. 이렇게 글을 남기는 건 처음이네요..
제가 질문하고 싶은 건요..
조건문 처리에서.. '테이블의 필드값이 널이다'를 어떻게 표현하는지..
Select * from IPLog
where ( ( (D_RR_IP =:SelectedIP) and (D_IR_IP ='') and (D_ER_IP = '') ) or
( (D_IR_IP =:SelectedIP) and (D_ER_I ='') ) or
(D_ER_IP=:SelectedIP) )
order by DInDate, DInTime
문제가 되는 내용인데요..
여기에서 보시면.. D_RR_IP, D_IR_IP, D_ER_IP는 모두 필드 명이구요..
만약 SelectedIP 값이 D_RR_IP와 같고, 그외 나머지 두개의 필드값이 널이라면
or 문으로 연결된 첫번째 조건문이 해당되어 그 레코드의 값들을 불러오게 되어
있는데..
여기서 필드값이 널임을 표현하는 방법을 잘 몰라서요..
이 부분을 좀 도와 주시겠어요?
isnull 이라는 부분도 찾아보구. 했지만.. 초보라서.. 찾기도 좀 힘이 드네요..
그리고.. 또 하나만 더 질문하자면..
:= 연산자는 대입 연산자로 알고 있는데..
'=:' 이런 표현은.. 잘 몰라서..
이것도 연산자인가요?? 연산자라면 어떤 내용인지..
연산자에서 찾아 보질 못 해서요..
도와 주시겠어요??
부탁드립니다..
> 안녕하세요.. 이렇게 글을 남기는 건 처음이네요..
> 제가 질문하고 싶은 건요..
> 조건문 처리에서.. '테이블의 필드값이 널이다'를 어떻게 표현하는지..
>
> Select * from IPLog
> where ( ( (D_RR_IP =:SelectedIP) and (D_IR_IP ='') and (D_ER_IP = '') ) or
> ( (D_IR_IP =:SelectedIP) and (D_ER_I ='') ) or
> (D_ER_IP=:SelectedIP) )
> order by DInDate, DInTime
>
> 문제가 되는 내용인데요..
> 여기에서 보시면.. D_RR_IP, D_IR_IP, D_ER_IP는 모두 필드 명이구요..
> 만약 SelectedIP 값이 D_RR_IP와 같고, 그외 나머지 두개의 필드값이 널이라면
> or 문으로 연결된 첫번째 조건문이 해당되어 그 레코드의 값들을 불러오게 되어
> 있는데..
> 여기서 필드값이 널임을 표현하는 방법을 잘 몰라서요..
> 이 부분을 좀 도와 주시겠어요?
> isnull 이라는 부분도 찾아보구. 했지만.. 초보라서.. 찾기도 좀 힘이 드네요..
>
> 그리고.. 또 하나만 더 질문하자면..
> := 연산자는 대입 연산자로 알고 있는데..
> '=:' 이런 표현은.. 잘 몰라서..
> 이것도 연산자인가요?? 연산자라면 어떤 내용인지..
> 연산자에서 찾아 보질 못 해서요..
>
> 도와 주시겠어요??
> 부탁드립니다..
>
>
>
>
첫 번째 질문에 대한 답변은 이 예제 소스로 대신하구요...
with Field1 do
begin
if not IsBlob { this does not work for BLOB fields }
begin
{ Allocate space }
GetMem(MyBuffer, DataSize);
try
if not GetData(MyBuffer) then
MessageDlg(DisplayName + ' is NULL', mtInformation, [mbOK], 0)
else
{ Do something with the data };
finally
{ Free the space }
FreeMem(MyBuffer, DataSize);
end;
end;
end;
두번째 질문의 변수 앞에 : 이 붙은 것은 제가 보기엔 parameter같네요...
즐프 되세요....