여러 테이블에서 TClientDataset?
-
02-07-2019 - |
문제
가 결과 중 하나 이상에서 쿼리에는 하나 이상의 테이블로 TClientDataset?
그냥 같은 뭔가
SELECT * from t1;
SELECT * from t2;
SELECT * from t3;
할 수 없습 방법을 파악하는 데이터에 공급자(SetProvider)을 당겨서 결과에서 하나 이상의 테이블니다.
해결책
가지 방법으로 여러 테이블에서 데이터를 동 TClientDataSet 처럼 당신은 참조됩니다.이 TClientDataSet 보유하고 하나의 커서가 단일 사용합니다.
다른 팁
ClientDatasets
할 수 있는 필드가 포함되어 있는 자신 기타 데이터 집합입니다.그래서를 만들려는 경우에는 세 가지 테이블에 하나의 데이터 집합,생성 세 ClientDatasets
을 들고 세 가지 결정할 것,그리고 당신은 그들을 둘 수 있으로 단일 ClientDataSet
.
이 문서에서는:
http://dn.codegear.com/article/29001
을 수행하는 방법을 보여줍니다 그것은 모두에서 런타임과에서 designtime.특히 주의하라는 제목의 섹션:
"만들기 ClientDataSet's
구조를 사용하여 실행 TFields
"
만에 가입하는 것입니다 테이블이 있습니다.그러나 다음 기준을 제공하의 참여를 통해 가입 외국 키를 사용합니다.
select * from t1, t2, t3 where t1.key = t2.key and t2.key = t3.key;
지금 가정 때문에 사랑하는 사람으로 키(같은 LineNr)할 수 있는 가입을 위해.당신은 다음을 사용할 수 있습 전체 외부 조를 포함하는 모든 레코드(중요하지 않을 경우 모든 테이블에 동일한 행 번호).그러나 이것은 어떻게든 수 있습니다.지 않을 auto_number 에 대한 열쇠로서,그것은 다시 사용하지 않습 키를 따라하는 경향이 구멍을 내고서 번호,결과에서 많은 라인을 부분적으로만 가득한 값입니다.
당신이 원하는 경우를 채우 clientdataset 에서 여러 테이블 동일한 설정의 필드에 사용할 수 있는 연산자 연합니다.이 것이 그냥 사용하여 동일한 열과 모든 행로입니다.