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

컴포넌트/라이브러리
Delphi/C++Builder Programming Components&Libraries
[766] TxQuery 2.1 - 로컬 SQL 쿼리 컴포넌트
박지훈.임프 [cbuilder] 21094 읽음    2011-02-10 13:29
TxQuery는 자체적으로 SQL문을 수행할 수 있는 상용 DataSet 컴포넌트입니다. 다른 데이터셋들로부터 데이터를 가져와 조인을 하여 새로운 결과를 만들어낼 수도 있습니다. 꽤 애용자들이 많았었고, 저도 꼭 필요한 경우가 있어 사용한 적이 있습니다.

그런데 이 TxQuery가 몇년 전부터 업그레이드가 되지 않고, 홈페이지도 폐쇄되었었습니다. 대단히 유명한 컴포넌트는 아니지만 경우에 따라서는 다른 대안이 없이 꼭 필요한 컴포넌트이기 때문에 많이 아쉬웠었는데요.

조금 전에 서핑하다가 TxQuery가 다시 업그레이드되고 있다는 것을 알게 되었습니다. 유명한 델파이 매니아 중 한 사람인 Chau Chee Yang씨가 2009년 말에 원 개발자인 Alfonso Moreno씨에게 연락하여, 오픈소스화를 허락받았다고 하더군요. 게다가 Chau Chee Yang씨는 유니코드 마이그레이션까지 완료해놓아서 델파이 XE, 2010, 2009 버전까지 지원합니다.

TxQuery의 가장 큰 장점은, 클라이언트로 가져온 여러 데이터셋들로부터 로컬 조인이 가능하다는 것입니다. 예를 들면, 다음과 같이 사용합니다. (헬프에 소개된 샘플 코드인데, 설명을 위해 일부러 모두 코드로 구현한 것이며, 폼디자이너에서 각 데이터셋들을 추가할 수 있습니다)

procedure TForm1.FormCreate(Sender: TObject);
var
  XQuery: TxQuery;
  Item: TXDataSetItem;
  sql: String;
begin
  XQuery := TxQuery.Create(Self);
  XQuery.AddDataSet(Table1, 'Customer');
  XQuery.AddDataSet(Table2, 'Orders');
  XQuery.AddDataSet(Table3, 'Items');
  XQuery.AddDataSet(Table4, 'Parts');

  XQuery.SQL.Text := 'SELECT * FROM customer c INNER JOIN Orders o ' +
    'ON (c.CustNo = o.CustNo) INNER JOIN Items i ' +
    'ON (o.OrderNo = i.OrderNo) INNER JOIN Parts p ' +
    'ON (i.PartNo = p.PartNo);';
  XQuery.Open;
end;

TxQuery는 로컬 조인이 가능하기 때문에, 원래의 데이터베이스가 뭐였는지에 대해 완전히 투명하게 됩니다. 즉, 서로 다른 데이터베이스로부터 가져온 데이터셋들을 조인할 수도 있게 됩니다.

또, SQL을 지원하지 않는 데이터스토어, 예를 들면 버클리DB 등에 대해서도 SQL 쿼리가 가능해지죠. (물론 그러려면 실제 필요한 것보다 훨씬 더 많은 데이터를 로컬로 가져와야 하는 경우가 생기지만, 그래도 가능하기만 하다면, 하고 간절한 경우가 종종 있죠)

현재의 최신 버전은 1월 21일에 공개된 2.1 버전이구요. 구글 코드 사이트에서 다운로드할 수 있습니다.
http://code.google.com/p/txquery/
Trackback : http://cbuilder.borlandforum.com/impboard/impboard.dll/trackback?sn=127328
Tracked from Imp on Delphi & C++Builder   2011-02-10 13:30
TxQuery는 자체적으로 SQL문을 수행할 수 있는 상용 DataSet 컴포넌트입니다. 다른 데이터셋들로부터 데이터를 가져와 조인을 하여 새로운 결과를 만들어낼 수도 있습니다. 꽤 애용자들이 많았었고, 저도 꼭 필요한 경우가 있어 사용한 적이 있습니다.그런데 이 TxQuery가 몇?...
귀추 [firebird]   2011-12-02 11:29 X
좋은 자료 감사합니다^^

+ -

관련 글 리스트
766 TxQuery 2.1 - 로컬 SQL 쿼리 컴포넌트 박지훈.임프 21094 2011/02/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.