Q&A

  • DBGrid에 관한 질문입니다.
제가 이번에 회사에서 필요한 프로그램을 만들었는데요,,,,
조회버튼을 눌렀을 경우 DBGrid에 결과가 나타납니다.
라디오그룹에 대분류와 중분류가 있습니다.
중분류조회후 대분류를 조회하면 정상적으로 나타나는데....
대분류 조회후 중분류를 조회하면 대분류조회에서 나타난것들 중에
중분류코드에 해당하는 것들이 나타납니다.
쉽게 설명을 하자면....
대분류를 조회했을 경우...
ex) 10  홍길동  대구 동구
      20  고길동  대구 북구
      30  윤대협  대구 달서구
      40  강백호  대구 수성구
      50  서태웅  대구 남구
      60  정대만  대구 동구
이렇게 결과가 나왔는데
중분류로 조회를 하면 전혀 다른 결과가 나와야 하는데
대분류결과들 중에서
      20  고길동  대구 북구
      30  윤대협  대구 달서구
      40  강백호  대구 수성구
      50  서태웅  대구 남구
이렇게 나와버립니다.
이것을 해결할 수 있는 방법을 아시는 분은 대답을 좀 해주세요,,,,
아님 라디오그룹을 대분류선택후 중분류를 선택했을 경우
DBGrid를 clear시킬 수 있는 방법은 없나요?
클리어 시킨 후 다시 조회를 하면 정상적으로 나오지 않을까 싶어서요,,
될지 안될지는 모르지만요,,,,
1  COMMENTS
  • Profile
    열심히 2003.10.11 19:56
    쿼리를 보여주시는게 좋을듯 합니다..

    하지만 지금 없으니 대충생각해보면..

    만약에 쿼리에

    where 대분류 = :대분류
    and 중분류 = :중분류

    이렇게 두개의 파라미터를 가지고 있다면..

    그런데 소스에서

    if radiogroup.index = 0 then //대분류
      begin
      Query.Close;
      Query.ParamByName('대분류').AsString := '대분류값'
      Query.Open;
      end
    else  //중분류
      begin
      Query.Close;
      Query.ParamByName('중분류').AsString := '중분류값'
      Query.Open;
      end

    이렇게 되있다면 원하지 않는 결과가 나올수 있습니다..

    파라미터를 초기화 시키지 않았기때문에 두군데 모두 값이 들어가죠..

    근데 이렇다면 중분류 와 대분류 어떤걸 먼저하고 어떤걸 나중에 해도..

    결과가 같아야 하는데.. 이같은 경우와는 맞지 않는다고 생각합니다만..

    이런 비슷한경우 인것 같습니다..

    쿼리를 오픈하시기전에 파라미터값을 체크해보세요..