CheckListBox에 쿼리해온 아이템 채우기

CheckListBox에 쿼리해온 데이터를 한 줄씩 보여주고 체크 가능하도록 하는 기능.
검색조건이 DB에 저장되있는 데이터이고 가변적일때 유용할 듯...

우선 TQuery컴포넌트로 데이터를 가져오고 하나씩 CheckListBox에 add하면 된다... 말은 간단... ㅡ.ㅡ

예)

With qPayApplyItems do  // TQuery 컴포넌트
  Try
    ParamByname('ItemCd').AsString := strItemCD; 
// 파라메터 넘길 거 있으면 넘겨주고~
    Open;  // 쿼리 실행
    clbPayItem.Clear;  // CheckListBox 깨끗이~
    While not Eof do begin  // 루프 돌려부려~(쿼리해온 데이터 첨부터 끝까지)
      clbPayItem.Items.Add( FieldByName('ITEM').AsString );  // 쿼리해온 데이터 하나 Add!!(컬럼명으로 접근)
      Next;  // 다음 데이터 가져올 준비
    end;
  Finally
    Close; 
// 쿼리 닫아주자
  end;

by 완대장 | 2008/11/18 08:39 | Delphi | 트랙백 | 덧글(0)

MySQL의 LIMIT를 Oracle에서는...


MySQL에 LIMIT라는 것이 있다고 한다.
LIMIT를 통해 결과에서 몇 개의 행이 반환될지를 정할 수 있다고 한다.
어째 Oracle보다 MySQL이 점점 더 좋아보인다. ㅡ.ㅡ;
어쨌든 Oracle에서는 이렇게 해결해야 겠다

예시)
* MySQL(상위 2개의 데이터만 추출)
 SELECT first_name, SUM(sales)
 FROM test_cookie_sales
 GROUP BY first_name
 ORDER BY SUM(sales) DESC
 LIMIT 2;

* 요거를 Oracle에서는
 SELECT *
 FROM
 (SELECT FIRST_NAME, SUM(SALES)
  FROM   TEST_COOKIE_SALES
  GROUP BY FIRST_NAME
  ORDER BY SUM(SALES) DESC)
 WHERE ROWNUM < 3

일단 2줄 길어졌다. ㅎㅎ 인라인 뷰까지 동원... 어쨌든 서울은 온것 같다.

참고) LIMIT 2,10 --> 요렇게 쓰면 3번째 행부터 10개의 행을 추출

by 완대장 | 2008/11/06 14:32 | Oracle | 트랙백 | 덧글(0)

CASE문 사용하기

* syntax...
    UPDATE my_table
    SET new_column =
    CASE
        WHEN column1 = somevalue1
            THEN newvalue1
        WHEN column2 = somevalue2
            THEN newvalue2
        ELSE newvalue3
    END;

* example...
    UPDATE test_movie_table
    SET category =
    CASE
        WHEN rating = 'R'
            THEN 'action'
        WHEN rating = 'PG'
            THEN 'drama'
        WHEN test_movie_id = '90'
            THEN 'horror'
        ELSE 'misc'
    END;

음... 좋은건가... 아직 실전에 안써먹어봐서 잘 모르겠음... >.<

by 완대장 | 2008/11/06 11:12 | Oracle | 트랙백 | 덧글(0)

CASE문

// 연봉구분 파라메터 셋팅
  Case RGYYPAY_YN3.ItemIndex Of
    0 : qMonPayItem.ParamByName('P_YYPAY_YN3').AsString := '%';
    1 : qMonPayItem.ParamByName('P_YYPAY_YN3').AsString := 'Y';
    2 : qMonPayItem.ParamByName('P_YYPAY_YN3').AsString := 'N';
  End;
  Case RGYYPAY_YN2.ItemIndex Of
    0 : qMonPayItem.ParamByName('P_YYPAY_YN2').AsString := '%';
    1 : qMonPayItem.ParamByName('P_YYPAY_YN2').AsString := 'Y';
    2 : qMonPayItem.ParamByName('P_YYPAY_YN2').AsString := 'N';
  End;
  Case RGYYPAY_YN1.ItemIndex Of
    0 : qMonPayItem.ParamByName('P_YYPAY_YN1').AsString := '%';
    1 : qMonPayItem.ParamByName('P_YYPAY_YN1').AsString := 'Y';
    2 : qMonPayItem.ParamByName('P_YYPAY_YN1').AsString := 'N';
  End;

by 완대장 | 2008/11/05 09:42 | Delphi | 트랙백 | 덧글(0)

새로운 시작

사람들은 언제나 새로운 시작을 하기 마련이다.
인생을 살면서 정말 새로운 시작이라고 생각하는 큰 일을 몇번이나 겪을까?
실제 정말 큰 변화가 생기는 일이 있고, 새로운 시작이라고 스스로 되새기며 마음가짐을 하는 일이 있을 것이다.

나에겐 이번에 정말 큰 변화가 생겼다. 11월 1일부터 난 새로운 삶을 살아가야 한다.
세상이 흘러가는대로 주위의 변화에 맞춰가면서 나이를 먹어감에 따른 자연스러운 변화가 아닌 새로운 시작을 할 때이다.
군대갔을때처럼 말이다. ㅡ.ㅡ;
군대에서 난 많은 변화를 겪었다. 소위 정신을 차렸다고나 할까나... 군대 가기 정말 싫었지만 잘 적응하였고 좋은 변화로 이끌 수 있었다.
이번에도 난 자신있다. 잘 해낼 수 있을 것이다. 두려움을 피하지 말고 맞서 싸우며 내가 어떻게 결정하던 그것은 최선의 결정이었으며, 좋은 결과를 향한 길임을 믿는다.

한 달 후 좋은 결과가 있기를 바라며... 난 오늘도 준비를 한다.

by 완대장 | 2008/11/03 22:17 | My Story | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶