Q&A

  • 디비] close, sql.clear...질문있습니다.
안녕하세요..



with db do

begin

if ..... then

begin

close;

sql.clear;

sql.add('update.......

.

.

.



end

else

begin

close; //요부분

sql.clear;//요부분+1

sql.add('insert.....

.

.

.

end;

end;



**************************

맨첨에 //요부분 ,//요부분+1

을 작성을 하지 않았습니다..속도가 쫌 늦어질까봐요.

그랬더니 insert 하는 부분에서 계속 에러가 나드라구요.

invalid use of keyword 라구요.



요두줄을 써줬더니 컴파일이 되거든요.

이상한것은 어떤 부분은 이 두줄을 안써주어도 잘 돌아가는데

여기서는 왜 에러가 나는지 모르겟습니다.



close 와 clear 설명좀 해주세요..



아르켜주세요..







1  COMMENTS
  • Profile
    plan0611 2001.10.30 01:35
    db.close => 현재 query component의 상태을 강제 close 시키고,

    db.clear => query sql text만을 지워버리는 거죠....

    현재 사용하는 상황은 잘 모르겠지만,

    첫번째 if 조건에서 query component의 sql text를 clear 시키기 때문에 문제가

    없지만, 두번째 조건에서 insert 할때 문제가 생기겠죠. 왜냐하면 기존의

    query sql에 sql문이 있으니, syntax 에러가 나는 거죠..

    두번째 if 조건에서도 sql.clear문 써주는 것이 좋을 것 같은데...

    수고하세요...





    sun wrote:

    > 안녕하세요..

    >

    > with db do

    > begin

    > if ..... then

    > begin

    > close;

    > sql.clear;

    > sql.add('update.......

    > .

    > .

    > .

    >

    > end

    > else

    > begin

    > close; //요부분

    > sql.clear;//요부분+1

    > sql.add('insert.....

    > .

    > .

    > .

    > end;

    > end;

    >

    > **************************

    > 맨첨에 //요부분 ,//요부분+1

    > 을 작성을 하지 않았습니다..속도가 쫌 늦어질까봐요.

    > 그랬더니 insert 하는 부분에서 계속 에러가 나드라구요.

    > invalid use of keyword 라구요.

    >

    > 요두줄을 써줬더니 컴파일이 되거든요.

    > 이상한것은 어떤 부분은 이 두줄을 안써주어도 잘 돌아가는데

    > 여기서는 왜 에러가 나는지 모르겟습니다.

    >

    > close 와 clear 설명좀 해주세요..

    >

    > 아르켜주세요..

    >

    >

    >