2013-01-08 2 views
2

"ORDER BY"에 의해 주어진 순서가 손실되지 않도록 쿼리를 연 레코드를 조작하기 때문에 ORDER BY를 사용하여 정렬 할 수없는 정렬되지 않은 데이터 집합 (Devart의 TMSQuery)이 있습니다.델파이 데이터 집합 정렬

전체 논리를 다시 쓰지 않으므로 데이터 집합을 정렬하는 방법을 찾아야합니다.

TMemDataSet (TMemDataSet은 DevArt 클래스) 자손 (Devart의 TVirtualTable)에 데이터 세트를 할당 할 수 있지만이 후에는 어떻게 정렬합니까 (날짜 필드별로 정렬해야합니까)?

나는 this question을 읽었지만 내가 찾고있는 대답은 여기에 포함되지 않습니다.

+1

: 직접 TMSQuery 구성 요소에서 "TMemDataset는 기록을 제외하고 일반 TTable처럼 작동하고 인덱스가 모든 RAM에 저장되어있는 고유 완전히 색인 메모리 테이블 인 테이블이 같다 정렬 [중략]를. tbMem.OrderBy : = 'Fld1; Fld2'; " 그래서 당신의 솔루션처럼 보이는 –

+2

내가 aboout 당신이 추천하는 구성 요소를 알고 있지만 ADO를 사용할 수 있습니다 ADOQuery1.Sort : = 'LastName ASC, DateDue DESC' – Bharat

+0

내게로 인해 오해가 있습니다 : TMemDataSet은 DevArt 클래스에서 파생 된 것입니다 TDataSet, 내가 언급 한 것은 내가 필요한 기능을 갖춘 3 부 구성 요소입니다 : http://www.shareit.com/product.html?productid=102196&language=FR&affiliateid=200067214 – LaBracca

답변

5

IndexFieldNames을 사용하여 문제를 해결했지만, 내가 바라는 것이 었습니다. 추천 광고에서

MSQuery1.IndexFieldNames := 'EXECUTION_DATE'; //this does the job