Programming language/Powerbuilder

파워빌더 정리

  • -
반응형

약 2~3주간 파워빌더 교육을 받았었는데 교육간에 정리해본 내용들입니다.

파워빌더의 강력한 기능으로 소개되는 데이터 윈도우(DW)는 처음 배우는 입장에서 굉장히 신선했습니다. 


Update Properties

AllowUpdates

: 체크 시 Update Properties를 입력할 수 있게 된다.

Updates는 Insert문, Update문, Delete문 모두를 뜻한다.

 

Table to Updates

: 수정할 테이블 선택, 한 개의 DW는 한 개의 테이블만 수정할 수 있다.

 

Unique key Column(s) 

: Primary Key를 정한다. Primary Key 버튼을 클릭하면 자동으로 잡아준다.

 

Where Clause for Update/Delete

: Update 또는 Delete문에 포함되는 Where절의 조건으로 입력할 컬럼들을 정한다.

 

Key Modification

: Key는 Primary Key를 의미한다. 어떤 DBMS는 Key 컬럼의 수정을 허용하지 않는다.

그럴 때 Use Delete then Insert를 사용한다.

 

Identity Column : Insert 시에 컬럼의 값이 Autoincrement와 같은 옵션으로 DBMS에 의해

자동으로 부여되게 설정했을 때, 그러한 컬럼을 Identity Column이라고 한다. 해당하는 컬럼을

선택하면 DW에서 데이터를 Insert할 경우 자동으로 값이 입력된다.

 

Structure

파워빌더에서는 하나의 변수만 넘길 수 있다.

여러 개의 변수를 넘길 때는?

Structure(구조체)를 사용한다.

- 구조체는 하나 이상의 변수들의 모임이다.

- 구조체에서는 변수를 Element라고 부르기도 한다.

- 변수 타입은 제한이 없으며 표준 데이터 타입과 오브젝트 데이터 타입, 다른 구조체도 포함될 수 있다.

 

교육받을 당시 이런저런 숙제들을 하다가 구조체를 사용했던 부분인데, 기억으로는 test123이라는 윈도우를 열고 윈도우

에서 특정 데이터(Row)를 더블클릭하면 해당 데이터를 str_test 구조체에 담아 갖고 오는 코드였던 것 같다.

 

아래는 숙제를 하며 자주 사용했던 함수들을 정리한 내용이다.

 

   문법 내용  반환값 
 InsertRow() long dwcontrol.InsertRow(longrow)  row 인수 바로 전에 로우 추가, row가 0이면 마지막에 로우 추가  
 AcceptRow() Integer dwcontrol.AcceptText()  DW의 Primary Buffer에 DW 컨트롤 편집 화면의 내용을 반영시킨다.  성공 : 1
실패 : -1 
GetSelectedRow()  long dwcontrol.GetSelectedRow(long row)  DW에서 인수(row) 바로 다음 로우부터 검색하여 가장 먼저 반전된 로우 넘버를 알려준다. 로우 바로 다음 반전된 로우번호 
 반전된 Row가 없을 경우 0
 DeleteRow() Integer dwcontrol.DeleteRow(long row)  DW로우 삭제
(Primary Buffer에 있는 로우의 데이터가 Delete Buffer로 옮겨진다)
 성공 : 1
실패 : -1 
 SelectRow() Integer dwcontrol.SelectRow(long row, boolean select)  DW 컨트롤의 로우들의 색을 반전시키거나 반전해제 한다.  성공 : 1 
 실패: -1
 ModifiedCount() Long dwcontrol.ModifiedCount()  DW에 수정된 로우들의 갯수를 알려준다.
(Primary Buffer에 있는 데이터 중에 수정된 데이터가 있는지  
성공 : 삭제된 Row 갯수 
실패 : -1 
 AcceptText()   Primary Buffer에 반영   
 Update() Integer dwcontrol.Update( 
{ boolean accept {, boolean resetflag} } )
*인수 양 옆 대괄호가 사용되면 생략가능 인수임을 뜻함
자동으로 AcceptText를 수행한다.


Update 함수를 호출하면 DW Update Properties에 설정해 놓은 정보를 가지고 Primary Buffer로부터 insert문과 update문을 Delete Buffer로부터 delete문을 생성해서 DBMS로 전달한다.
 성공 : 1
 실패 : -1
 OpenWithParm()  OpenWithParm(windowwar, parameter
{, parent } )
*Windowwar : 열고자 하는 윈도우명
*Parameter : Message Object에 저장하려는 매개변수
*Parent : 열고자 하는 윈도우의 타입이 child 또는 pop-up일 경우의 parent 윈도우명, 생략 가능
이름을 알고 있는 윈도우 오브젝트를 열고 매개변수를 시스템의 Message Object에 저장한다.  
 Left()  Left(string, n) 문자열의 시작위치부터 명시한 수의 문자를 얻는다.  성공 : String
실패 : 빈 문자열 
 Retrieve()  Long : 반환값의 데이터 타입 데이터베이스로부터 rows를 조회하여 DataWindowcontrol 또는 DataStore에 담는다. 성공 : 조회된 로우의 수 
실패 : -1 
 Today()  string(Today(), ‘yyyy-mm-dd’)    
 CloseWithReturn()  CloseWithReturn(windowname, return value) Window를 닫고 MessageObject 안에 리턴 값을 저장한다. 오직 response window에 대해서만 CloseWithReturn을 사용할 수 있다.  성공 : 1 
 에러 : -1 

 


앞으로 파워빌더를 해볼 일은 아마 없겠지만 DB를 연동해 CRUD 정도의 프로그램을 몇 번 만들어보면서 언어는 중요한 것이 아니란 것을 또 한번 깨닫는 경험이었습니다.

끝으로 신성봉님의 블로그 강의가 많은 도움이 됐었다.

 

+피드백은 언제나 환영입니다 :)

반응형
Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.