CalcField를 이용하는 TTable이나 TQuery에서 더블클릭하면
FieldEdit가 나옵니다.. 이때 오른쪽 버튼을 클릭하여..
New Field를 추가 합니다. 이때 필드이름과 형과 사이즈를 결정하시면
하시면 됩니다..
일종의 가상필드를 만들어서 보여줄때만 사용을 하는 것입니다..
따라서 계산하여 보여준다고해서 CalcField인가 봅니다..
procedure TForm1.Query1CalcFields(DataSet: TDataSet);
begin
Case FieldByName('num').AsInteger of
1: FieldByName('dis_num').AsString:= '성공';
2:
<중략>
end;
2. 쿼리로 해결하는 방법
오라클에는 decode,case(버전에 따라서), Ms-SQL은 case함수가
있습니다.
이런 함수를 이용해 쿼리에서 바꾸어서 가져오는 방법이 있습니다..
죄송하게 예를 오라클 예밖에 못하네요..
select decode(num,1,'성공',2,'실패',3,'성공') result
from 테이블;
아래와 갗이 코딩해두 됩니다.
if Sender.fieldbyname('result').asstring = '1' then
text := '성공'
else
.......
case 문은 null때문에 좀 위험하겠죠 ^^;;;;;