자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi [DB문의] Query결과 Row가 여러개일 경우 동시에 보여주는 방법 문의
2015.07.26 10:12
본 게시판 사용시 당부 사항
* 이 게시판은 누구나 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
안녕하세요.
아래 문의드리오니 조언해 주시면 고맙겠습니다.
dbExpress로 위와 같이 컴포넌트 배치하고
SQLConnection : Oracle 접속
SQLQuery : SELECT * FROM table; 실행하여 여러개의 Row 결과값이 나옵니다.
■ 구현하려고 하는것
DataSource 통해 DBText1 에는 Row1의 FieldA 출력, DBText2에는 Row2의 FieldA 출력,
이런 식으로 여러 Row 결과를 동시에 출력하려고 합니다.
한번에 하나의 Row 출력은 원래 잘 되는데, 동시 출력은 방법이 없을까요?
DataSource 2개를 같은 Query에 연결하면, Next 등의 Method 사용시 둘다 똑같이 바뀌어 버립니다.
SQLQuery는 하나만 두고, 각각의 DataSource나 DBText에서
원하는 Row만 Fetch해와 각자 출력하는 방법을 문의드립니다.
다른 DataSource나 DBText 쪽에는 영향을 주지 않고, 독립적으로 가져와 출력해야 합니다.
■ 최악의 방법 (방법이 없는건 아닙니다만..)
정 안되면 SQLQuery1, SQLQuery2, 이렇게 따로 두고
원하는 Row만 각각 SELECT로 뽑아내도 되지만, 그렇게는 하기 싫어서요.
Row가 최대 10개가 넘을수도 있고, 비효율적 입니다.
뭔가 방법이 있을것 같은데, 도움 부탁드립니다.
Delphi [DB문의] Query결과 Row가 여러개일 경우 동시에 보여주는 방법 문의
2015.07.26 10:12
본 게시판 사용시 당부 사항
* 이 게시판은 누구나 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
안녕하세요.
아래 문의드리오니 조언해 주시면 고맙겠습니다.
dbExpress로 위와 같이 컴포넌트 배치하고
SQLConnection : Oracle 접속
SQLQuery : SELECT * FROM table; 실행하여 여러개의 Row 결과값이 나옵니다.
■ 구현하려고 하는것
DataSource 통해 DBText1 에는 Row1의 FieldA 출력, DBText2에는 Row2의 FieldA 출력,
이런 식으로 여러 Row 결과를 동시에 출력하려고 합니다.
한번에 하나의 Row 출력은 원래 잘 되는데, 동시 출력은 방법이 없을까요?
DataSource 2개를 같은 Query에 연결하면, Next 등의 Method 사용시 둘다 똑같이 바뀌어 버립니다.
SQLQuery는 하나만 두고, 각각의 DataSource나 DBText에서
원하는 Row만 Fetch해와 각자 출력하는 방법을 문의드립니다.
다른 DataSource나 DBText 쪽에는 영향을 주지 않고, 독립적으로 가져와 출력해야 합니다.
■ 최악의 방법 (방법이 없는건 아닙니다만..)
정 안되면 SQLQuery1, SQLQuery2, 이렇게 따로 두고
원하는 Row만 각각 SELECT로 뽑아내도 되지만, 그렇게는 하기 싫어서요.
Row가 최대 10개가 넘을수도 있고, 비효율적 입니다.
뭔가 방법이 있을것 같은데, 도움 부탁드립니다.
DataSource와 DBText(DB컨트롤)을 꼭 사용해야 할 이유가 있나요?
DB컨트롤은 DataSet의 커서의 내용을 표현하는 목적으로 제공되는 컴포넌트입니다.
여러 컨트롤에 다른 커서의 값을 표시하기 위해서는 DB컨트롤외에 다른 컨트롤(TEdit 등)을 사용하시기 바랍니다.
만약 제가 구현한다면,
코드 상에서 SQLQuery.Execute를 실행하고 Next 메소드로 레코드를 이동하며
Edit1~10(원하는 컨트롤)에 직접 값을 매핑하면 효율적으로 처리할 수 있을 것으로 보이네요.