Q&A

  • 에러좀 잡아주세요...
  
    with Query1 do
    begin
      Close;
      SQL.Clear;
      for i := 1 to 2 do
      begin
        SQL.Add('INSERT INTO employee                          ' +
                '(emp_id,emp_name,dt_flag,class_flag,          ' +
                ' group_flag,adjust_yn,all_flag      )         ' +
                'VALUES                                        ' +
                '(emp_id,emp_name,dt_flag,class_flag,          ' +
                ' group_flag,adjust_yn,all_flag      )         ' );
        if Copy(edtEmpID.Text,1,1) <> '7' then
        begin
          if i = 1 then
          begin
            ParamByName('emp_id'     ).AsString := edtEmpID.Text;
            ParamByName('emp_name'   ).AsString := 'AAA';
            ParamByName('dt_flag'    ).AsString := 'Y';
            ParamByName('class_flag' ).AsString := 'Y';
          end
          else if i = 2 then
          begin
            ParamByName('emp_id'     ).AsString := edtEmpID.Text;
            ParamByName('emp_name'   ).AsString := 'BBB';
            ParamByName('dt_flag'    ).AsString := 'Y';
            ParamByName('class_flag' ).AsString := 'N';
          end;

          ParamByName('group_flag').AsString := 'N';
          ParamByName('adjust_yn' ).AsString := 'N';
          ParamByName('all_flag'  ).AsString := 'N';
        end;

      ExecSql;
      end;
    end;
    
    
    위처럼 insert 문을 만들었는데요..
    실행을 시키면  for 문을 두번째 돌때
    'SQL명령어가 올바르게 종료되지 않았습니다'라는 에러 메세지가 뜹니다.
    SQL문을 값을 넣고 실행시키면 제대로insert 되구요..
    for 문을 한번만 돌리면 에러가 안납니다..
    for 문을 돌리는 방식이 잘못되서 그런가 본데..
    아무리 봐도 뭐가 잘못된건지 모르겠어요...
    보시구..
    잘못된 점좀 알려주세요~~~ㅠ.ㅠ
    
    
2  COMMENTS