초기화가 안되고 계속 문장이 추가되서 그럽니다.
IBQuery.SQL.Clear; 문장 추가해 주세요
유승현 님이 쓰신 글 :
: 안녕하세요. 파이어버드 시작2일째인데 벽에 또 부딪쳤습니다.
: 하루만에 다시 또 에러가 발생해서 가르침을 받고자 질문를 올립니다.
:
: 요점은 엑셀파일을 불러와서 그것을 DB에 입력하고자 하는건데요.
: 스트링그리드에 뿌린 내용을 For문을 돌려서 입력할 때
: 한바퀴 돌고 2번째로 인서트 값을 넣을때 에러가 납니다.
:
: 'Dynamic SQL Error SQL error code = -104
: Token unknown -line 5, char2
: Insert'
:
: 아래는 소스부분입니다.
:
: cnt := 0;
: for i := 1 to StringGrid1.RowCount -1 do
: begin
: IBQuery.SQL.Add(' INSERT INTO T_CODE ');
: IBQuery.SQL.Add(' (CODE, CNO, KN, EN) ');
: IBQuery.SQL.Add(' VALUES ');
: IBQuery.SQL.Add(' (:P_CODE, :P_CNO, :P_KN, :P_EN) ');
: IBQuery.Prepare; //한바퀴돌고 2번째 로우넣을때 에러
: IBQuery.ParamByName('P_CODE').AsString := StringGrid1.Cells[0,i];
: IBQuery.ParamByName('P_CNO').AsString := StringGrid1.Cells[1,i];
: IBQuery.ParamByName('P_KN').AsString := StringGrid1.Cells[2,i];
: IBQuery.ParamByName('P_EN').AsString := StringGrid1.Cells[3,i];
: try
: IBQuery.ExecSQL;
: //itTrans.Commit;
: cnt := cnt + 1;
: except on E: Exception do
: begin
: //IBQuery.Transaction.Rollback;
: itTrans.Rollback;
: MessageDlg('코드입력중 에러발생!' + E.Message, mtInformation, [mbOK], 0);
: IBQuery.Close;
: IBQuery.SQL.Clear;
: Exit;
: end;//begin
: end;//try
: end;//for i := 1 to StringGrid1.RowCount -1 do
:
: itTrans.Commit;
: iqSql.Close;
: iqsql.SQL.Clear;
:
: 저의 석두로는 해결이 잘 안됩니다. ㅠ.ㅠ
|