고수님들 안녕하십니까?
query1의 전체 레코드를 table1에 복사하려합니다.
제가 알기로는 아래와 같이(example#1) 하면 되겠으나
필드가 130개라서 좀더 간편한 방법을 원합니다.
그래서 두번째 방법(example#2)으로 해보려하니 안내를 바랍니다.
EXAMPLE#1
=========
while not query1.eof do
begin
table1.append;
table1.FieldByName('FieldName1').AsString := Query1.FieldByName ('FieldName1').AsString
// table1.FieldByName('').AsString := Query1.FieldByName('').AsString
// table1.FieldByName('').AsString := Query1.FieldByName('').AsString
// .
// .
// 필드갯수만큼. 필드가 자그만치 130개나되서 다 쓸수가 없습니다.
table1.Post;
table1.Refresh;
query1.next;
end;
EXAMPLE#2
while not query1.eof do
begin
table1.append;
for i :=1 to query1.FieldCount - 1 do
begin
info := query1.Fields[i].fieldname ;
table1.FieldByName('info를 응용해서 넣고 싶은데요.').AsString := Query1.FieldByName('info를 응용해서 넣고 싶은데요.').AsString ;
table1.Post;
table1.Refresh;
query1.next;
end;
님이 친절히 알려주신 batchmove에 대하여 정말 너무나 감사합니다.
이렇게 간단하게 전 레코드를 복사할 수 있는 것을 몰라서
그동안 고생 많이 했습니다.
1. 사실 저는 폭스프로 아마추어 개발자로서 조그만 중소기업을 경영하는 50대입니다.
회사 업무상 델파이가 약간 필요 했지요.
2. 폭스는 테이블의 생성/복사/추출이 단 한줄의 명령어로 가능한데,
델파이는 몇년을 한분들에게 물어도 그것들을 간단히 알려주지도/코드를
만들어 주지도 못하더군요.
3. 할 수 없이 제가 처음부터 책을 사서보고, 3일간에 걸쳐서 개인과외도
받았지만, 명확치 않았습니다.
4. 헬프에서 tbatchmove가 있어서 이것을 사용하면 되지 않겠는가 하고
물었으나, 질 모르겠다고 하더군요.
그래서 질문한 것처럼 방법 #1을 겨우 알게 되었으나, 100여개의 필드를
일일이 나열할 수 없어 방법#2를 여쭙게 되었습니다.
5. 천만다행으로 님이 batchmove를 알려주어 help의 내용과 같이 보면서
해보니 되더군요. 이 함수가 가능해짐으로 해서,
제가 그동안 그렇게 고민하고, 고심하던 모든 문제가 해결 될 것 같습니다.
왜냐하면 저의 문제는 단순히 batchmove가 아니라
paradox의 .db를 foxpro의 .dbf로 바꾸어야 하며,
필드(스트럭쳐)를 전부 생성해야하고
또 .db의 필드가 언제 어떻게 변경될지도 모르는 상황도 대처해야하기
때문이었지요.
6. 그동안 수많은 사람에게 물어(지금 생각하니 델파이 qa에 올렸으면
진작 알수 있었을터이지만) 보았으나 모두 '절대로 안돼' 한 부분은
query의 결과를 테이블로 '생성'이 되는가? 이었습니다.
모든 분들이 다 테이블을 미리 만들어 놓은 다음에 레코드를 옮겨야 한다고 했습니다.
저는 아무리 해도 이해가 않갔지요. 볼랜드가 그럴리가 없을 거라는 생각이 었습니다.
결국 님이 알려주신 batchmove의 batcopy는 는 query의 결과를 .dbf로 바로 테이블을
생성해주며, 동시에 필드이름들도 조정하면서 생성해 주더군요.
(.db는 필드명이 25자, .dbf는 필드명이 10자까지만)
7. 앞으로도 미지의 델파이에 대해 넘어야 할 산이 많습니다.
0) 이 프로그램을 매개변수를 전달하여 실행한다.
1) 이 프로그램을 일정한 시간마다 한번씩 실행한다.
2) 이 프로그램을 코드만으로(폼을 보여줄 필요 없이) 실행한다.
등등입니다.
물론 고수님들에게는 아주 쉬운 문제이겠지만은요.
8. 답변을 주신 민과 싸이트 운영자님들과 모든 델파이 개발자들에게 재삼 재사 감사드립니다.
너무나 고마움에 몇자 적었습니다.
somoon 황세봉 올림.