그동안의 답변에 깊은 감사를 드리며
한번더 질문을 드립니다.
한 테이블에 자료가 약 3백만건이 있습니다.
무리인것은 알지만 database는 MS_ACCESS를 이용하구요.
이 테이블에 약 3만건의 자료를 넣을려고 하는데
자료가 있는지 없는지를 FindKey를 쓰지 않고(검색시간이 많이 걸리므로)
try..except or Finally 를 이용하려고 합니다.
즉 현재 저장하고자 하는 자료가 있으면 예외처리를 하여
TRY
Table.open
while not table.eof do
begin
try
table.append
:
:
:
table.post
finally
table.next
end;
FINALLY
Table.close
AND;
위와 같은 방법으로 처리를 할 생각이었는데
(위으 코드 처럼 같은 key가 있을 경우는 저장하지 않습니다.)
기존의 같은 Primary Key가 있을 경우 table.next가 있는 구문으로
finally로 가서 다시 while문으로 가지 않고 바로 while문을 벗어나서
끝에 있는 FINALLY문으로 가버립니다.
제가 원하는 것은 같은 key가 있더라도 next가 실행하고 다시 다음 값을
저장하고 싶은데 말입니다.
너무 많은 것을 원하는 것 같아 죄송합니다만
답변을 해 주신다면 정말 고맙겠군요...
도움을 받으시는데 지장이 있으니까요..... ***>
아래의 내용을 살펴보니..
try ...finally.. 의 사용에 대해 이해가 조금 부족한듯 싶습니다.
finally는 예외처리 구문이라기 보다는 반다시 수행이 되어야 하는
구문을 정의 하는 것입니다.
예외 처리는 try... except로 하셔야 합니다. 따라서 제공하신 소스는
아래와 같이 수정이 되어야 할 꺼 같습니다.
TRY
Table.open
while not table.eof do
begin
try
table.append
:
:
:
table.post
except
// do something or don't something
end;
table.next
end; {end of while}
FINALLY
Table.close
AND;
음냐 오류가 있을 수도 있는데 걍 참고 하세요......
다시한번 지정 질문 사양 입니다.....^^;
배재민 wrote:
> 그동안의 답변에 깊은 감사를 드리며
> 한번더 질문을 드립니다.
>
> 한 테이블에 자료가 약 3백만건이 있습니다.
> 무리인것은 알지만 database는 MS_ACCESS를 이용하구요.
>
> 이 테이블에 약 3만건의 자료를 넣을려고 하는데
> 자료가 있는지 없는지를 FindKey를 쓰지 않고(검색시간이 많이 걸리므로)
>
> try..except or Finally 를 이용하려고 합니다.
>
> 즉 현재 저장하고자 하는 자료가 있으면 예외처리를 하여
>
> TRY
> Table.open
>
>
> while not table.eof do
> begin
>
> try
> table.append
> :
> :
> :
> table.post
>
> finally
> table.next
> end;
>
> FINALLY
> Table.close
> AND;
>
>
> 위와 같은 방법으로 처리를 할 생각이었는데
> (위으 코드 처럼 같은 key가 있을 경우는 저장하지 않습니다.)
>
> 기존의 같은 Primary Key가 있을 경우 table.next가 있는 구문으로
> finally로 가서 다시 while문으로 가지 않고 바로 while문을 벗어나서
>
> 끝에 있는 FINALLY문으로 가버립니다.
>
> 제가 원하는 것은 같은 key가 있더라도 next가 실행하고 다시 다음 값을
>
> 저장하고 싶은데 말입니다.
>
> 너무 많은 것을 원하는 것 같아 죄송합니다만
>
> 답변을 해 주신다면 정말 고맙겠군요...
>