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

델파이 Q&A
Delphi Programming Q&A
[9871] 몇일간 고생하던 거를 정말 감사합니다.
interBeginner [] 1596 읽음    2004-09-22 11:38
박지훈.임프 님이 쓰신 글 :
: 말씀하신대로 dbExpress 데이터셋의 경우 unidirectional이라고 해서 단방향 진행만 가능합니다.
: 다른 부분에는 문제가 없지만, 데이터셋에서 전진 뿐 아니라 역방향으로 진행해야 한다면 말씀하신 것처럼 예외가 발생합니다.
: 대표적인 경우가 TDBGrid와 같은 그리드에 연결하거나, 말씀하신 경우와 같은 레포트 컴포넌트와 연결할 경우입니다.
:
: 이런 경우엔 중간에 클라이언트데이터셋(TClientDataSet)을 끼워 넣어서 한단계 더 거치도록 하면 됩니다.
: dbExpress 데이터셋(TSQLDataSet 이라고 가정하죠)을 그리드(혹은 레포트)에 직접 연결하지 말고 TClientDataSet을
: 거쳐서 연결하는거죠. 그리고 원래의 TSQLDataSet과 TClientDataSet을 연결하기 위해 다시 TDataSetProvider을 중간에
: 추가합니다.
:
: 따라서 이전에 컴포넌트들 사이의 연결 상태가 다음과 같았던 경우,
: TSQLConnection - TSQLDataSet - TDataSource - 그리드/레포트
: 다음과 같이 됩니다.
: TSQLConnection - TSQLDataSet - TDataSetProvider - TClientDataSet - TDataSource - 그리드/레포트
:
: 여기서 TClientDataSet - TDataSource간의 연결은 일반적인 데이터셋 연결의 경우처럼 TDataSource의 DataSet 속성을
: 통해 연결합니다. 그리고 TDataSetProvider - TClientDataSet간의 연결은 TClientDataSet의 ProviderName 속성으로
: 연결하고요. TSQLDataSet - TDataSetProvider간의 연결은 TDataSetProvider 컴포넌트의 DataSet 속성을 이용합니다.
:
: 이같은 과정이 지나치게 복잡하게 느껴진다면 몇개의 컴포넌트가 조합된 편의용 컴포넌트를 사용할 수 있습니다.
: 델파이 6의 dbExpress 탭에 TSQLClientDataSet이라는 컴포넌트가 있는데, TSQLDataSet, TDataSetProvider,
: TClientDataSet의 세가지 컴포넌트가 조합된 컴포넌트입니다. ConnectionName 속성으로 SQLConnection과 연결하고,
: TDataSource에서 DataSet 속성으로 직접 가리켜질 수 있습니다.
:
: 델파이 7에서는 이 컴포넌트가 없어지고 대신 TSimpleDataSet라는 컴포넌트가 도입되었습니다.
: 두 컴포넌트는 비슷하기는 하지만 다른 부분도 적지 않습니다. (델파이 6의 TSQLClientDataSet 컴포넌트의 문제점 때문에
: 새로 도입된 것입니다)
:
: 그럼...
:
:
: interBeginner 님이 쓰신 글 :
: : dbExpress 를 사용해서 레포트를 출력하는데
: : Group Band 에서 계속 operation not allowed on a unidirectional dataset 이란 오류가 뜹니다.
: : dbExpress 콤포는 unidirectional 만 가능한 걸로 알고 있는데
: : 퀵에서 커서가 back 이 안되서 오류가 나는것 같은데
: : 혹시 이런 경우를 해결하신 분 있으면 도움 부탁드립니다.

+ -

관련 글 리스트
9865 unidirectional 에 관한 오류 .... interBeginner 1302 2004/09/21
9870     Re:unidirectional 에 관한 오류 .... 박지훈.임프 2988 2004/09/22
9871         몇일간 고생하던 거를 정말 감사합니다. interBeginner 1596 2004/09/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.