2010-03-02 5 views
1

사용자 지정 형식 파일의 데이터로 채워진 메모리 내 테이블이 있습니다. 다른 곳에 복사하지 않고 데이터 저장소로 사용하고 싶습니다. 각 레코드에는 1.30 일 수있는 특수 태그 필드가 있습니다. DBGrid 또는 DBChart에 제공 할 수있는 최대 30 개의 가상 '테이블'을 만들고 싶습니다. 각 테이블에는 내 태그 필드에 해당하는 관련 레코드 세트가 들어 있습니다. 필자는 데이터베이스 작업에 익숙하지 않지만 델파이에 대해 많이 알고 있으므로 간단한 DIY 솔루션을 사용하고 간단한 반복 프로세스를 사용하여 메모리 테이블을 더 많이 생성 할 수 있습니다. 차라리 더 확장 성이있는 뭔가를 갖고 싶습니다. SQL select 문이 있지만 빠른 피 일드 (TQuery 사용)에서 이것이 DevExpress의 메모리 내 테이블에서 어떻게 작동 하는지를 볼 수 없었습니다.델파이 메모리 내 데이터 테이블에서 특정 필드를 사용하여 레코드 집합을 추출하는 방법

답변

5
  1. 일부 메모리 테이블, TkbmMemTable는 TADMemTable는 클론 기본 테이블에 있습니다. 그런 다음 필터, 정렬 순서, 범위를 복제 된 복사본에 적용 할 수 있습니다. 따라서 에는 몇 개의 가상보기가있을 수 있습니다. 같은 레코드 집합에 빌드하십시오. 자세한 내용 BY ... ORDER ..이 방법에 대한 도움말을 확인 WHERE 는 그리고 각보기 탭 * FROM 는 SELECT처럼 보이는 CloneCursor 및 필터링 속성 필터, , IndexFieldNames 등

  2. TQuery 수 없어 메모리 내 테이블 을 데이터 소스로 사용하십시오. (단일?) 다른 제품 (예 : xQuery)은 서번트 TDataSet 자손에 대해 SQL 쿼리를 실행할 수 있습니다.

  3. 마지막으로, 당신은 단지 이 데이터베이스에 쿼리를 만들기 위해 SQLite는 또는 임베디드 FB 같은 일부 임베디드 DB에 데이터를로드 할 수 있습니다.

0

데이터 집합이 특정 필드별로 정렬되지 않은 경우 각 레코드를 방문해야하지만 정렬 된 경우 첫 번째 일치 항목 만 찾고 원하는 값보다 커야합니다. TClientDataSet의 같은

0

AidAilm의 무료 (개인용) SQLMemTable 구성 요소 : SQLMemTable, SQLMemQuery 및 SQLMemDatabse.

각 구성 요소는 "전통적인"대응 물의 역할을합니다.

  1. TSQLMemDatabase를 삭제하십시오. 필요에 맞게 DatabaseName 속성을 수정하십시오.
  2. TSQLMemTable 구성 요소를 추가하십시오. 필요에 맞게 TableName 속성을 수정하십시오. 일부 입력란을 추가하십시오. 테이블을 활성화하십시오. TSQLMemDatabase 구성 요소에 자동으로 추가됩니다.

TSQLMemQuery는 TDataSource를 통해 TSQLMemTable 구성 요소에 연결됩니다. TSQLMemTable의 tablename 속성은 TSQLMemQuery SQL 쿼리에서이를 식별하는 데 사용됩니다. 가능한 모든 SQL 명령에 대한 온라인 설명서를 확인할 수 있습니다.

여기에 자세한 정보 링크가 있습니다 :