지난 여름 비가 지겹게 왔는데 또 오네요..
여러분 집에는 피해가 없으시길..
궁금한게 있어서 질문을 올립니다.
[DB질문] 파라독스에서 Logical 타입으로 필드를 선했는데,
그 값을 이용하려면 어떻게 해야하나요..
즉, 논리값이므로 Boolean 형인데..
그렇다면 True,False 또는 1,0 의 값만 가지겠지요.
하지만, 데이터베이스 컴포넌트 중에 DBCheckBox 를
이용해 파라독스의 Logical 타입의 필드에 값을 넣을 경우
세 가지의 값이 생깁니다.
1. True 2. False 3. Null
사용해 보시면 알겠지만 디비체크박스는 데이터베이스의 필드와
연결이 되는 순간 체크상태(표시)가 됩니다.
값은 False 이지요. 하지만 1번 체크상자를 클릭하면 True가
^^^^^
되고 또 한번 누르면 Null이 됩니다. 그다음 또 누르면
체크가 되므로 True가 됩니다. 즉, False는 한번도 누르지
않은 경우만 False가 됩니다.
일반 체크박스와 동작이 좀 다릅니다.
본론으로 들어가서...
^^^^^^^^^^^^^^^^^^^^^
논리타입으로 되어 있는 필드의 값을 읽거나 비교하여 사용하고
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
싶습니다.어떻게 해야하나요?
^^^^^^^^^^^^^^^^^^^^^^^^^^^
예를 들어서... 필드명이 '성별'이라고 할때..
남성이면 True, 여성이면 False.. 그리고 Null인 경우는 False로 처리
한다고 합시다.
아래와 같이 코딩했다고 하면 어디부분을 고쳐야 하나요??
If Table1.FieldByName('성별').AsString = 'True' Then begin
^^^^^^^^^^^^^^^^^^
남자 처리 문장..;
end
Else If Table1.FeildByName('성별').AsString = 'False' Then begin
^^^^^^^^^^^^^^^^^^^^
여성 처리 문장...;
End
Else If Table1.FeildByName('성별').AsString = '' Then begin
^^^^^^^^^^^^^^^
Null 처리문장;
end;
위 코드로 프로그램을 돌리면
에러가 생기는 건 당근일테고 .. 어떻게 해야하지요..
아시는 분 한 수 부탁드립니다.
(True,False,Null일때 값을 처리하는 방법...뜨아!! 알고싶다!! 그것이!!)
[p.s] 델파이 배울 수록 어렵다는
생각이 듭니다.
|