본문 바로가기

Study/Etc..

파워빌더 sqlca.sqlcode

SQLCA.SQLCODE = 0                 : SQL 문장 수행 성공

SQLCA.SQLCODE = -1               : Error, SQL 문장 수행 실패

SQLCA.SQLCODE = 100              : FETCH된 ROW가 없음


예)

============================================================
Application

CONNECT USING SQLCA;
  
 IF Sqlca.sqlcode <> 0 Then

  연결오류 에러        // 0 <> 면 실패

 ELSE

  연결성공             // 0 =  면 성공

 End If

------------------------------------------------------------
do 
 
 fetch tb_cur into :ls_id, :ll_ba, :ll_etc ;
 
 if sqlca.sqlcode <> 0 then exit //자료가 없으면 exit
 
 ll_tmp = ll_ba + ll_etc
 
 update emp
 set    emp_ba = :ll_tmp
 where  emp_id = :ls_id ;
 
 
loop while sqlca.sqlcode = 0

 

 


============================================================

select emp_name into :ls_emp_name 
from   emp
where  emp_id = :data  ;
 
 if sqlca.sqlcode = 100 then
  messagebox("알림","조회하신자료가 없습니다")
 else
  this.object.department[1] = ls_emp_name
 end if  

 

 

 

============================================================

rtn = dw_1.retrieve()

 If rtn < 1 Then  // 1이면 자료 있음
 
           row가 없거나(0) 에러발생(음수)

 end if
   

 

 

============================================================

if dw_1.update = 1 then  // 처리에 성공하면 1을 리턴하고 
                         // 에러가 발생하면 -1을 리턴한다. 
                         // argument 값 중에 NULL이 있으면, 
                         // Update 함수는 NULL을 리턴한다.
 COMMIT USING SQLCA;

ELSE

 ROLLBACK USING SQLCA;

END IF

 

 


============================================================