Q&A

  • Logical형 구분법은 머에여?
DB의 여러 속성중에서 Logical형으로 만든게 있습니다....

참이냐 아니면 거짓이냐 하는건데....

참이것만...아니면 거짓인것만 따로 저장하는 방법이 모죠?...

예를들면

1번부터 10번까지의 데이터중에서 중간중간 몇개만 참이고

나머진 거짓으로 저장이 되어 있을때요...

참을 가지는 메모필드의 내용을 순차적으로(버튼을 한번 누를때마다)

Memo에 보이게 할 수 있는지요...



예를들어 10개의 데이터가 저장되었다고할때(필더는 번호,메모,Logical..3개)

2번과 6번 만 참이고 나머진 거짓이라고 할때요...

폼위의 버튼을 클릭하면 폼위의 메모란에 순차적으로 참인(2번과 6번)것을

클릭할때마다 메모필더에 있는내용을 보여주는 방법이 궁금해요..

제가 생각할때는 포커스를 첫번째로 옮겨서

순차적으로 하나하나 내려가면서 계속 if문을 쓰는방법밖에 생각이 안나거든요..

이방법은 데이터가 많으면 너무 느리잖아요...

다른방법이 없나요?...

1  COMMENTS
  • Profile
    이재식 2000.07.11 21:04
    이재식 Wrote :

    안녕하십니까?



    logical형이라면 패라독스라고 생각됩니다. 맞나요?

    이런 필드에대한 저장갑은 대개 true/false이런식으로 저장이

    되어있습니다.

    이런필드에대한 쿼리는 다음처럼 하시면 됩니다.

    with query1 do

    begin

    close ;

    sql.clear ;

    sql.add('select *') ;

    sql.add('from test') ;

    sql.add('where BoolField = :BField') ;

    parambyname('BField').asString := 'true' ;

    open;

    end ;



    님께서 말씀하신 10개중 2개만 true인 데이터를 메모에 보여주시려면

    위처럼 쿼리를 던지시고,

    해당 쿼리(query1)컴포넌트의 cursor를 이용하면

    중간에 false인 레코드들은 전혀 해당사항이 안되겠죠....