안녕하세요.
저는 현제 Delphi 4.0을 사용하고 있으며 Paradox DB를 활용하여 현재 만들어져 있는 DB를 이용하여 Temp File DB를 임의적으로 만들어 사용하고 싶은데 방법을 몰라서 이렇게 글을 올리게 되었습니다. 물론 이 Temp File DB 또한 기존의 다른 Paradox DB와 같은 형태의 DB로 만들 생각이죠. Primary Key와 Index Key도 만들수 있는 ...
그리고 이 Temp DB는 해당 Program에서만 사용을 하죠. 이 Temp DB를 만들게된 동기는 기존의 많은 Paradox DB에서 필요한 DB의 Field만을 이용하며 이를 이용하는 중간 중간에 Data Field의 값에 따라 보여지는 값을 달리해야 하는 경우도 있으며 또한 한 DB에서는 여러 Record가 있지만 이렇게 많은 Record중 최근의 신규 Data만을 선별하여 Record의 수를 조정해야 하는 여러가지 복잡한 문제가 많아서죠.
간단히 Temp DB를 만들수 있는 방법을 가르켜 주시면 고맙겠군요. 그리고 이 문제를 제 나름대로 몇가지 방법을 사용했지만 다들 제가 서툴러서 그런지 제대로 되지가 않는군요. 제가 봐도 문제가 많아서 예제를 올려 놓기도 상당히 쑥스럽군요. 아무쪼록 방법을 제시해 주시면 고압겠습니다.
참고로 이를 SQL Query를 이용하여 사용을 해 보려고 했으나 각 DB마다 Record Count를 조정하기도 힘들 뿐더러 간혹 DB의 Data가 전혀 없는 경우는 이나마 Query 조건에서 문제가 되는군요.
위의 두가지 방법중 Temp DB를 만드는건 급한 사항이며 아래의 Query를 활용한 방법도 있으면 수고 스럽더라도 같이 가르쳐 주시면 감사 하겠습니다. 우선 급한대로 Temp DB를 활용하려 하지만 이러한 경우가 또 다시 발생한다면 다음번에 Query를 활용하거나 다른 기술적인 방법을 활용해 보고 싶군요.
끝까지 읽어봐 주신 여러 Delphi Programmer 님들께 감사의 고마움을 표시하며 모쪼록 즐거운 나날이 되길 바랍니다.
> 안녕하세요.
> 저는 현제 Delphi 4.0을 사용하고 있으며 Paradox DB를 활용하여 현재 만들어져 있는 DB를 이용하여 Temp File DB를 임의적으로 만들어 사용하고 싶은데 방법을 몰라서 이렇게 글을 올리게 되었습니다. 물론 이 Temp File DB 또한 기존의 다른 Paradox DB와 같은 형태의 DB로 만들 생각이죠. Primary Key와 Index Key도 만들수 있는 ...
> 그리고 이 Temp DB는 해당 Program에서만 사용을 하죠. 이 Temp DB를 만들게된 동기는 기존의 많은 Paradox DB에서 필요한 DB의 Field만을 이용하며 이를 이용하는 중간 중간에 Data Field의 값에 따라 보여지는 값을 달리해야 하는 경우도 있으며 또한 한 DB에서는 여러 Record가 있지만 이렇게 많은 Record중 최근의 신규 Data만을 선별하여 Record의 수를 조정해야 하는 여러가지 복잡한 문제가 많아서죠.
> 간단히 Temp DB를 만들수 있는 방법을 가르켜 주시면 고맙겠군요. 그리고 이 문제를 제 나름대로 몇가지 방법을 사용했지만 다들 제가 서툴러서 그런지 제대로 되지가 않는군요. 제가 봐도 문제가 많아서 예제를 올려 놓기도 상당히 쑥스럽군요. 아무쪼록 방법을 제시해 주시면 고압겠습니다.
> 참고로 이를 SQL Query를 이용하여 사용을 해 보려고 했으나 각 DB마다 Record Count를 조정하기도 힘들 뿐더러 간혹 DB의 Data가 전혀 없는 경우는 이나마 Query 조건에서 문제가 되는군요.
> 위의 두가지 방법중 Temp DB를 만드는건 급한 사항이며 아래의 Query를 활용한 방법도 있으면 수고 스럽더라도 같이 가르쳐 주시면 감사 하겠습니다. 우선 급한대로 Temp DB를 활용하려 하지만 이러한 경우가 또 다시 발생한다면 다음번에 Query를 활용하거나 다른 기술적인 방법을 활용해 보고 싶군요.
> 끝까지 읽어봐 주신 여러 Delphi Programmer 님들께 감사의 고마움을 표시하며 모쪼록 즐거운 나날이 되길 바랍니다.
이렇게 해보세요
table1----> 소스 테이블
table2----> 새로만들 테이블
query1.close;
with query1.sql do
beign
clear;
text :='select * from table1 where 조건';
end;
query1.open;
if table2.active then
table2.close;
table2.fielddefs := query1.dielddefs;
table2.createtable;
table2.addindex('indexname1','indexfield1;indexfield2',[IxPrimary]);
table2.addindex('indexname2','indexfield1;indexfield2',[IxDesecending]);
//세컨드리 인덱스
batchmove1.source := query1;
batchmove1.destination := table2;
batchmove1.execute;
table2.open;
하시면 됩니다.
물론 쿼리대신 table1을 직접 대입하셔도 무방합니다.