관리 메뉴

why don't do your best

파워빌더 내에서 커서 사용하기 본문

Programming/PowerBuilder

파워빌더 내에서 커서 사용하기

빅셔 2012. 11. 27. 09:16

Help 를 보면 요런식으로 되어있다..

 

DECLARE Emp_cur CURSOR FOR

        SELECT employee.emp_number, employee.emp_name

        FROM employee

        WHERE employee.emp_salary > :Sal_var ;

 

SQL과 크게 틀릴 것은 없고..

 

 

--프로그램 내에서 하나의 예시를 가져와서 밑에다 기술

 

DECLARE cs1 CURSOR FOR
select a.dayname,datepart(dd,a.workdt)
 from bical01t a,ufn_date_between(:as_wkym) b
 where a.workdt between b.frdt and b.todt
   and dayname in ('1','7')
 order by 1,2;   
OPEN cs1;

 

DO
 FETCH cs1 INTO :ls_dayname,:li_day;
 IF Sqlca.SqlCode <> 0 THEN EXIT
 IF ls_dayname = "1" THEN
  dw_1.Modify("planqty" + String(li_day,"00") + "_t.color = '" + String(Rgb(255,0,0)) + "'")
 END IF
 IF ls_dayname = "7" THEN
  dw_1.Modify("planqty" + String(li_day,"00") + "_t.color = '" + String(Rgb(0,0,255)) + "'")
 END IF
LOOP WHILE SQLCA.SQLCODE = 0

 

CLOSE cs1;

 

C1으로 커서 하나를 선언

그뒤에 셀렉트

 

C1오픈

 

 

루프 구문으로 마지막 행까지 가져온거지 확인하여 마지막 행이 아니라면

 

펫치로 한행씩 가져오기

 

또 펫치로 인출

 

마지막행 까지 다 뽑아 먹었다면

빠져나와서

 

c1커서 클로징

 


 

 

Comments