안녕하세요? 고수님들... 질문이 있어서 이렇게 글을 올립니다. 도와주세요
다름이아니라, SQL SERVER를 사용해서 DB Application을 만들었는데요,
고객INSERT를 하고나서 (쿼리 컴포넘트를 사용해서 EXECSQL을 했습니다)
해당창을 닫은다음에(CLOSE) 다시 열어서 새로운 고객을INSERT를 하면
전에 입력했던 자료가 한번더 INSERT되고, CURSOR HANDLE...하는 에러가 뜹니다... 제 생각으로는 전에 가지고있던 값들이 계속남아있어서 그런거 같은데요. 그래서 해당창을 닫을때 free를 했습니다...그랬더니 에러가 나더라구여... 어떻게 해야 INSERT되었던 값을 없애고 새로운 값으로 INSERT를 할수있는지요?..... CURSOR HANDLE...하는 에러도 잡을수있는 방법을 가르쳐주시기 바랍니다......
참고로 Query1.active := false;
Query1.active := true;
Qyery1.close;
Query1.sql.clear;
도 다썼는데 그러네염.... ㅡ.ㅜ
도와주세염~~~
아래 루틴을 돌리면 되지 않을까 합니다.....
procedure Tfrm쿼리.SAVEAll;
var
DataBase : TDataBase;
begin
DataBase := (ds쿼리.DataSet as TDBDataSet).DataBase;
DataBase.StartTransaction;
try
DataBase.Commit;
쿼리.CommitUpdates;
except
DataBase.Rollback;
raise;
end;
StatusBarMain.Panels[1].Text := '데이타가 저장되었습니다.';
end;