Q&A

  • 저장 쿼리좀 봐주세요..
윽.. 저장 하는데 자꾸 에러가 납니다..
이상하게.. 이렇게 테이블과 필드명만 바꾸어서 다른 곳에서 쓸때는 에러 없는데..
이것만 에러가 나네요...

이럴때 어케 해야 하져.. 소스와 에러 메세지 올립니다.

OS : 98SE
델파이 6
MS ACCESS2000 DB 사용
with grdF01 do begin
      while aRow <= RowCount - 1 do begin
       with Query1 do begin
              Close;
              Sql.Clear;
              Sql.Add('Insert Into JigubT ');
              Sql.Add(' ( Jigubil, JigubNo, JigubSeq, BillKind, BillNo, Money, Mangiil, Drawil, ');
              Sql.Add('  DrawBank, Bigo ) ');
              Sql.Add(' Values ');
              Sql.Add(' ( :p1, :p2, :p3, :p4, :p5, :p6, :p7, :p8, :p9, :p10,:p11 ) ');
              Params[ 0].AsString :=edtF01.Text+edtF02.Text+edtF03.Text;
              Params[ 1].AsString :=edtF04.Text;
              Params[ 2].AsString :=Cells[ 0, aRow];
              Params[ 3].AsString :=Cells[ 1, aRow];
              Params[ 4].AsString :=Cells[ 3, aRow];
              Params[ 5].AsFloat  :=DoubleCells[ 4, aRow];
              Params[ 6].AsString :=Cells[ 5, aRow];
              Params[ 7].AsString :=Cells[ 6, aRow];
              Params[ 8].AsString :=Cells[ 7, aRow];
              Params[ 9].AsString :=Cells[ 8, aRow];
              Params[10].AsString :=Cells[ 9, aRow];
              Execsql;
          end;
         inc(arow);
      end;
    end;

에러 메세지..
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 문의 구문 오류입니다

이렇게 나옵니다..

해결 방법좀 알려 주세요..
3  COMMENTS
  • Profile
    하얀까마귀 2003.06.24 02:46
    필드이름이 10개뿐이네요.. 파라메터는 11개인데....
    천천히 다시한번 확인해보세요..
  • Profile
    박준영 2003.06.24 03:05
    제가 쓰면서 빼먹었나 봐요... 죄송..^^;;
    추가해서 해 봤는데 똑은 같은 에러 납니다..
    자세히 봐주세요.. 부탁드립니다.

    OS : 98SE
    델파이 6
    MS ACCESS2000 DB 사용
    with grdF01 do begin
          while aRow <= RowCount - 1 do begin
           with Query1 do begin
                  Close;
                  Sql.Clear;
                  Sql.Add('Insert Into JigubT ');
                  Sql.Add(' ( Jigubil, JigubNo, JigubSeq, BillKind, BillNo, Money, Mangiil, Drawil, ');
                  Sql.Add('  Drawer, DrawBank, Bigo ) ');
                  Sql.Add(' Values ');
                  Sql.Add(' ( :p1, :p2, :p3, :p4, :p5, :p6, :p7, :p8, :p9, :p10,:p11 ) ');
                  Params[ 0].AsString :=edtF01.Text+edtF02.Text+edtF03.Text;
                  Params[ 1].AsString :=edtF04.Text;
                  Params[ 2].AsString :=Cells[ 0, aRow];
                  Params[ 3].AsString :=Cells[ 1, aRow];
                  Params[ 4].AsString :=Cells[ 3, aRow];
                  Params[ 5].AsFloat  :=DoubleCells[ 4, aRow];
                  Params[ 6].AsString :=Cells[ 5, aRow];
                  Params[ 7].AsString :=Cells[ 6, aRow];
                  Params[ 8].AsString :=Cells[ 7, aRow];
                  Params[ 9].AsString :=Cells[ 8, aRow];
                  Params[10].AsString :=Cells[ 9, aRow];
                  Execsql;
              end;
             inc(arow);
          end;
        end;

    에러 메세지..
    [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 문의 구문 오류입니다

    이렇게 나옵니다..

    해결 방법좀 알려 주세요..
  • Profile
    Galaxy 2003.06.24 05:47
    수고 많습니다.
    제 생각에는 이렇게 하면 안될까요
    먼저 ACCess Db연결에 문제가 없다면
    아래와 같이 해봐았습니다.
    제 짧은 생각은 이렇습니다.
    with grdF01 do
            begin
            while aRow <= RowCount - 1 do begin
             with Query1 do begin
                   Close;
                   Sql.Clear;
                   Sql.Add('Insert Into JigubT         ');
                   Sql.Add(' ( Jigubil, JigubNo,       ');
                   Sql.Add('   JigubSeq, BillKind,     ');
                   Sql.Add('   BillNo, Money,          ');
                   Sql.Add('   Mangiil, Drawil,         ');
                  Sql.Add('  Drawer, DrawBank,     ');
                   Sql.Add('   Bigo )                       ');
                  Sql.Add(' Values  ( :p1, :p2, :p3,  ');
                  Sql.Add('               :p4, :p5, :p6,  ');
                   Sql.Add('               :p7, :p8, :p9,  ');
                   Sql.Add('               :p10,:p11 )     ');
    ParambyName('p1').AsString :=edtF01.Text+edtF02.Text+edtF03.Text; ParambyName('p2').AsString :=edtF04.Text;
    ParambyName('p3').AsString :=Cells[ 0, aRow];
    ParambyName('p4').AsString :=Cells[ 1, aRow];
    ParambyName('p5').AsString :=Cells[ 3, aRow];
    ParambyName('p6').AsFloat  :=DoubleCells[ 4, aRow];
    ParambyName('p7').AsString :=Cells[ 5, aRow];
    ParambyName('p8').AsString :=Cells[ 6, aRow];
    ParambyName('p9').AsString :=Cells[ 7, aRow];
    ParambyName('p10').AsString :=Cells[ 8, aRow];
    ParambyName('p11').AsString :=Cells[ 9, aRow];