Q&A

  • 퀄리로 dbgrid에 검색한값의 합계를 낼려고 합니다.
소스는 아래와같습니다.
아래와 같이 검색을 하는데 그리드에 텅빈 빈항목이 검색이 됩니다.
그리고  tot_count필드의  합계도 totcount_edit.text 에 제대로 나타나지 앟습니다.
sql 초보입니다.
고수님들의 답변을 부탁드립니다.
   with Main_form.sail_Query do
    begin
    close;
    prepare;
    sql.Clear;
     sql.add('select sum(tot_count) as tot_cnt from sail ');
     sql.add('WHERE ');
    if (mainsearch_first=true) or
    sql.add('dates between :now1 and :now2');
    parambyname('now1').asdate := main_Search_DateTimePicker.date;
    parambyname('now2').asdate := main_Search_DateTimePicker2.date;
    
    sql.Add(' and dae_name like "%' + Search_Agent_ComboBox.text + '%"');
    end;
     open;
     totcount_edit.text := inttostr(tot_cnt);
  
3  COMMENTS
  • Profile
    KDDG_ZZOM 2003.04.18 05:07
    if (mainsearch_first=true) or 이거 오타죠? then이거일것같은데...

    그리고 쿼리문을 직접 날려서 데이타가 오는지먼저 확인해보세요...
    쿼리의 조건이틀릴수도 있으니깐...

    즐프하세요...


  • Profile
    박희경 2003.04.18 05:14
    답변에 감사드립니다.

    지적하신대로 소스를 잘못올렸습니다.
    다시한번 답변 부탁드립니다.

    sql질의의 결과가 디비그리드에 제대로 나타나지않는것 같습니다.
    특정날짜의 특정이름을 가진 사람들만 검색을 하는것인데
    디비그리드의 tot_count필드에는 합계만 나타나고 다른필드의 데이터들은 나타나지않고 빈칸들만 나타납니다.
    예를들어 1월1일에서 2월1일 사이의 '홀길동' 이란 사람의 자료를 모두 나타내려는데
    결과는 디비그리드에 달랑하나의 빈줄에 tot_count필드에 합계결과만 나타납니다.
    다시한번 답변 부탁드리겠습니다.

    소스는 아래와같습니다.

       with Main_form.sail_Query do
        begin
        close;
        prepare;
        sql.Clear;
         sql.add('select sum(tot_count) as tot_cnt from sail ');
         sql.add('WHERE ');
        sql.add('dates between :now1 and :now2');
        parambyname('now1').asdate := main_Search_DateTimePicker.date;
        parambyname('now2').asdate := main_Search_DateTimePicker2.date;
        
        sql.Add(' and dae_name like "%' + Search_Agent_ComboBox.text + '%"');
        end;
         open;
         totcount_edit.text := inttostr(tot_cnt);
      




  • Profile
    조운석 2003.04.18 06:46
    제생각엔 SQL 구문이 잘못된거 같네요

    select 가져올필드들, sum(합계낼필드)
    from 테이블명
    where 조건
    group by 가져올필드들..

    이런식으로 다시 쿼리문장 짜시구요..

    쿼리 에너라이져 같은데서 돌려보시구 결과값 확인후에 코딩해보세요