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
[175] [팁] CachedUpdate 속성
타락천사 [rain622] 7588 읽음    2001-08-20 13:29
안녕하세여..타락임다..^^

사실 델파이의 TDataSet 상속 컴포넌트들은 굉장히 강력한 기능을 가지고 있습니다. 단순히 SQL 질의문 날리는 이외의 기능이 있습니다. 그런 기능들을 적절히 잘 쓰면 프로그램 성능에 굉장히 도움이 됩니다. 앞으로 틈틈이 올리져.. ^^;;

TDataSet 상속 컴포넌트 들에는 CachedUpdate 라는 속성이 있습니다. 이 속성을 이용하면 질의나 저장 프로시져를 갱신 가능한 뷰로 전환 시킬수 있슴다. 즉, 데이터셋에 가해진 변경이 즉시 서버에 적용되는 것이 아니라 클라이언트 쪽의 임시 버퍼에만 기록한다는 뜻임다. 임시 버퍼에 기록된 변경을 실제로 서버에 적용하려면 TQuery나 TTable, TStoreProc 컴포넌트의 ApplyUpdate() 메소드를 호출함다. (ApplyUpdate 에 대해선 아래[팁] UpdateMode 을 참조하세여) 임시 버퍼(캐쉬)를 이용한 데이터셋의 갱신은 수행 성능의 최적화에 크게 도움이 되며, 서버 쪽에서 잠금에 관련된 충돌이 일어날 가능성도 줄이는 역활을 함다.

참고로, TQuery의 수정가능한 결과셋 에 대한 설명
기본적으로 TQuery 가 얻는 결과셋은 읽기 전용임다. 수정 가능한 결과셋을 얻으려면 TQuery->RequestLive 속성을 True로 해야 함다. 그러나 수정 가능한 결과셋을 얻는데에는 몇가지 제약이 따름다.
디비 마다 다르지만, 다음은 일반적인 제한점들임다.
1. 지역 SQL 문법(local SQL Syntax)를 사용해야 함다.
-- 도움말을 참조하세여.
2. 하나의 테이블만 사용해야 함다.
-- Join 되면 안됨다.
3. SQL 질의문에 ORDER BY 절이 포함되어서는 안됨다.
4. SQL 질의문에 SUM 이나 AVG 같은 집단화 함수들이 포함되어서는 안됨다.
5. SQL 질의문이 계산 필드(Calculated Field)를 사용해서는 안됨다.
-- 계산 필드는 코더가 만든 필드겠져. 참조하면 수정불가..
6. WHERE절의 조건문은 스칼라형(Scalar Type, 수량형)의 필드 이름만으로 구성되어야 함다.
-- 조건문중에 WHERE 은 유일하게 해당되는데, WHERE 문안에 NULL 등의 비스칼라형 이 있어선 안됨다.

즐푸하세여..

타락천사...^_______^

+ -

관련 글 리스트
175 [팁] CachedUpdate 속성 타락천사 7588 2001/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.