Q&A

  • filter를 어떻게 사용하는 것인지 좀 갈켜 주세요...
안녕하세요?

즐거운 주말을 보내셨는지 모르겠네요...

오늘도 어김없이 초가 질문을 드립니다...



현재 만들고 있는 프로그램에서 쿼리에 like를 두번 쓰니까 프로그램이 먹통이 되더군요...

슬픈일....

그래서 filter란 걸 알게 되어서 한 번 써 볼려구 하는데... 어떻게 쓰는 것인지...

파일에 대한 필터링밖에 나오지 않았거든요.. 제가 보는 책에...

참~ 제가 필터링을 쓸려구 하는 부분은 패스워드 레벨에 대한 것입니다...

즉 등급을 나눌때 몇개의 레벨을 가지고 나누는데...

그 레벨를 적용할 때 like를 쓰니까 먹통이...

고수님들의 조언을 부탁드립니다....



월요일인데... 즐거운 주말을 보내셨다고 피곤해 하지 마시고... 낼 놀수 있길...

2  COMMENTS
  • Profile
    백근훈 2000.10.02 22:24
    초 wrote:

    > 안녕하세요?

    > 즐거운 주말을 보내셨는지 모르겠네요...

    > 오늘도 어김없이 초가 질문을 드립니다...

    >

    > 현재 만들고 있는 프로그램에서 쿼리에 like를 두번 쓰니까 프로그램이 먹통이 되더군요...

    > 슬픈일....

    > 그래서 filter란 걸 알게 되어서 한 번 써 볼려구 하는데... 어떻게 쓰는 것인지...

    > 파일에 대한 필터링밖에 나오지 않았거든요.. 제가 보는 책에...

    > 참~ 제가 필터링을 쓸려구 하는 부분은 패스워드 레벨에 대한 것입니다...

    > 즉 등급을 나눌때 몇개의 레벨을 가지고 나누는데...

    > 그 레벨를 적용할 때 like를 쓰니까 먹통이...

    > 고수님들의 조언을 부탁드립니다....



    like를 쓰는게 훨씬 편할텐데, 안 된다니...



    필터링을 하는 방법은 다음과 같습니다.



    먼저, DataSet의 Filtered := True 로 합니다.

    (DataSet은 Table에서나 Query에서나 그 밖의 것에서나 님의 프로그램에 맞게~)



    그리고, OnfilterRecord() Event를 만듭니다.

    OnfilterRecord 에서 Filtering Definition 을 서술하면 됩니다.



    다음은 OnfilterRecord에서 filtering Definition의 예입니다.



    procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);

    begin

    if Table1.FiledByName('Password') = 'Pass' then

    Accept := True

    else

    Accept := False;

    end;



    위는



    Select *

    from Table1

    where Password = 'Pass'



    와 똑같은 효과를 가집니다.



    like 같은 Search Expression 효과를 가지기 위해서는 filtering definition을

    잘 만들어야겠죠~~ ^.^ (즉, Parsing을 잘 해야함)



    그럼, 수고하세요~ ^.^



    >

    > 월요일인데... 즐거운 주말을 보내셨다고 피곤해 하지 마시고... 낼 놀수 있길...





  • Profile
    2000.10.02 23:31
    감사합니다...

    답변 감사하고.. 부디 되길 바라는 마음뿐이네요...

    즐코 하세요..