FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[4155] for문 Insert 입력시 Dynamic error
유승현 [er80ys] 2876 읽음    2011-05-12 15:17
안녕하세요. 파이어버드 시작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;

저의 석두로는 해결이 잘 안됩니다. ㅠ.ㅠ

+ -

관련 글 리스트
4155 for문 Insert 입력시 Dynamic error 유승현 2876 2011/05/12
4157     Re:for문 Insert 입력시 Dynamic error 악마오리 2872 2011/05/13
4175         Re:Re:for문 Insert 입력시 Dynamic error 유승현 2866 2011/05/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.