본문으로 바로가기

[DELPHI] 데이터베이스 개발관련 요점 2

category 개발 2018. 9. 6. 12:55

● TDatabase 컴포넌트의 트랜잭션 처리.


StartTransation - 트랜잭션의 시작 포인트를 설정한다. 

Commit - 진행된 트랜잭션을 물리적인 데이터베이스에 적용한다. 

RollBack - 현재 진행된 트랜잭션을 원상태로 복귀시킨다.

     


try ... finally, try ... except 블록을 활용.


트랜잭션에는 3 가지 방식이 있는데 다음과 같다.

TiDirtyRead - 현재 작업과 관계없는 내용은 다른 사람들이 읽을 수 있다. 

TiReadCommotted - 현재 작업이 다른 트랜잭션에서의 연산에 참여할 수 있다. 

TiRepeatableRead - 현재 작업중인 데이터에 대해 다른 트랜잭션이 참여할 수 없다. 



● TDataSource 컴포넌트

    1. 마스터/디테일 연결시 디테일은 반드시 TTable을 사용해야 한다.

    2. 주요 이벤트.

 onDataChange - 해당 DataSet 이 변경될 경우에 발생한다. 

 onStateChange - 해당 DataSet 의 작업형태가 변경될 경우에 발생한다. 

 onUpdateData - 물리적인 데이터가 변경될 경우에 발생한다. 


● TUpdateSQL 컴포넌트

    TQuery의 Insert, Update, Delete 의 3 가지 기본적인 작업만 사용할 때 이것을 사용하는 것은 다소 낭비이기 때문에 TUpdateSQL 컴포넌트를 사용해야한다.



● Session

Session.GetDriveNames(Strings 객체) - 메소드를 사용하면 현재 사용되는 데 이터베이스 드라이브 정보

Session.GetDataBaseNames(Strings 객체) - 메소드를 사용하면 현재 사용되는 데이터베이스명

 Session.GetTableNames('데이터베이스명', 형태('*.db'),False, False, Strings 객 체) - 메소드를 이용하면 테이블의 이름