C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[177] [팁] Constraints
타락천사 [rain622] 6825 읽음    2001-08-20 13:35
안녕하세여.. 타락임다..^^

며칠째 "팁"으로 위장한 TDataSet 상속 컴포넌트의 설명서를 올리는군여..ㅠㅠ

아래내용 역쉬 TTable, TQuery, TDataSetProvider... 의 Constrains 속성 설명임다.

데이터셋은 그 내부에 이미 컨스트레인트 제한 조건 검사 엔진을 포함하고 있슴다. 데이터가 데이터셋에 어떻게 적용되는가에는 상관없이 이 엔진은 그 데이터가 합당한 것인지 미리 선언된 제한 조건을 검사해 주는 기능을 제공함다. 모든 검사가 제대로 이루어진 다음에 새로운 데이터가 변경 로그로 옮겨지게 됨다. 제한 조건 검사가 제대로 이루어지지 않을 경우, 예외가 발생하게 됨다.

두개의 컨스트레인트 속성을 persistent 필드에서 정의할 수 있슴다. 이 속성은 ReadOnly 와 Required 속성임다. ReadOnly 속성은 필드값에 대한 어떤한 변경도 허락하지 않슴다. 그리고 Required 속성은 반대로 항상 값을 받아들이록 해줌다.

필드 컴포넌트(TQuery->DataSetField)에 대한 두개의 다른 속성이 있슴다. CustomConstraint와 ConstraintErrorMessage 는 필드값에 대한 많은 제한 조건 검사를 해줄 수 있는 컨스트레인트 속성임다. 첫 번째 속성은 SQL 수식이고, 두 번째 속성은 SQL 수식과 관련된 에러 메세지를 포함시킬 수 있슴다. 다음의 표는 이러한 속성을 사용하여 표시한 예임다.

* 컨스트레인트 속성 설정 *
필드                CustomContraint                                 ConstraintErrorMessage
DEPT_NO          X is null of (X in (111, 222, 333))            Dept# 값이 허용되지 않는다
DEPARTMENT   LOWER(zzz) LIKE %abc%                        Department 필드는 반드시 그 안
                                                            에 abc라는 문자가 있어야 한다.
HEAD_DEPT      head_dept is null or (head_dept <> '000')     HeadDept는 NULL이거나 000과
                                                        같아야 한다.

이러한 필드 단계의 컨스트레인트는 즉각적으로 에러 메세지를 발생시켜 줌다.

이것 말고도 레코드(행) 단계의 컨스트레인트가 있슴다. 이것은 BDE로 접근하는 데이터 엑세스 컴포넌트(여기서는 Query1)의 Constraints 컬렉션에 추가될 수 있슴다. 이 제한 조건 검사는 Post 메소드 전에 발생됨다. 이 속성에는 CustomConstraint와 ErrorMesge를 포함하고 있는데, 이것은 클라이언트 데이터셋에 전달됨다. 다른 두 속성은 FromDictionary와 ImportedConstraint가 있슴다. 이것은 데이터 사전과 애플리케이션의 동기를 맞추는 역할을 함다.

아궁 손톱, 손가락, 손목, 팔 아포라....--;;
MIDAS나 VisiBroker에서 쓰는 TDataSet 상속 컴포넌트는 이외에도 기능이 더 많습니다. 시간이 나면 정리해서 올리도록 하겠습니다.

아참, 바쁜데... 후다닥~~~~

즐푸하세여..

타락천사.. 

+ -

관련 글 리스트
177 [팁] Constraints 타락천사 6825 2001/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.