procedure Ttest.execsql();
begin
with Query1 do
begin
if active then close;
sql.clear;
sql.add(' insert into test ');
sql.add(' (col1, col2) ');
sql.add(' values ');
sql.add(' ('1', '2') ');
execsql;
if active then close;
sql.clear;
sql.add(' insert into test ');
sql.add(' (col1, col2) ');
sql.add(' values ');
sql.add(' ('1', '2') ');
execsql;
if active then close;
sql.clear;
sql.add(' insert into test ');
sql.add(' (col1, col2) ');
sql.add(' values ');
sql.add(' ('1', '2') ');
execsql;
if active then close;
sql.clear;
sql.add(' insert into test ');
sql.add(' (col1, col2) ');
sql.add(' values ');
sql.add(' ('1', '2') ');
execsql;
end;
end;
위처럼 insert를 여러번 하는데 여기
if active then close; 를 가각의 insert 문장하기 전에 각각하는거하고 처음에만 한번 하는거하고
차이가 있나요? 고수님들 부탁드립니다.
with Query1 do
begin
close;
sql.Clear;
sql.add();
ExecSql;
sql.Clear;
sql.add();
ExecSql;
sql.Clear;
sql.add();
ExecSql;
에러 나면 rollback 하고 정상처리 되면 commit 하는게 좋지 않을까 저의 생각입니다
end;