Q&A

  • MIDAS로 INSERT는 어떻게 해야 하나요
<server DataModule 의 환경>

       session1 -> database -> table1-> DataSetProvider

        DataSetProvider의 옵션에서 poallowCommandText = True

<client DataModule>

     socketConnection -> clientDataSet

    clientDataSet.close;
    clientDataSet.Params.Clear;
  
    SQLSTR := '';
    SQLSTR := 'INSERT INTO Empm ( Empm ) ';
    SQLSTR := SQLSTR + 'Values( Empm ) ';

    clientDataSet.Params.CreateParam(ftstring,'EMPM',ptInput);
    clientDataSet.CommandText := SQLSTR;

     With clientDataSetDo
     begin
         Params.Parambyname('Empm').asstring := '홍길동';
     end;
  
      Try
         clientDataSet.Execute;
      Except
           MessageDlg('저장 중 DB Error !  관리자에게 문의하십시오 !',mtwarning,[mbok],0);
           Exit;
        raise;
     end;

Project se.exe raised exception class EOleException with message "Table does not exit.
'INSERT' 키워드 근처의 구문의 잘못 되었습니다'. Process stopped. use step or run to continue

라는 메세지가 나옵니다.

무엇이 문제 인지 모르겠습니다. 고수님들 좀 도와주세요
1  COMMENTS
  • Profile
    Crazy™ 2005.06.02 09:25
    <!--CodeS-->
    const
            File_SALE = 'aaa_tbl';
    var
    _SQL : String;
    begin
        _SQL := Format( 'SELECT SaleDay, TableNo, AM_SALE           ' +#13+
                        '  FROM %s                                  ' +#13+
                        ' WHERE ENTERCODE = ''' + _ENTER_CODE + ''' ' +#13+
                        '   AND BillStat  = ''' + '2' + '''         ' +#13+
                        ' ORDER BY SaleDay, TableNo                 ', [File_SALE]);

          with DM.ClientDataSet1 do
          begin
               Active := False;
               CommandText := _SQL;
               Active := True;
               _RC := RecordCount;
          end;
    <!--CodeE-->

    안녕하세요.
    일단 에러메시지로 봐서는 테이블명이 잘못되었네요...(테이블이 없다구 머라 그러는군요..쩝)
    한번 확인해보시고
    위에 쿼리는 기존 회사에서 제 상사분이 개발시에 저런식으로 했는데
    ClientDataset 쓰면서 수정한 것입니다.
    머 별 차이는 없고, 사람마다 쓰는게 틀리지만 할때마다 테이블을 적거나, 테이블명이 잘못되서 에러나는것을
    조금은 미연에 방지할 수 있을듯 보입니다.

    참고로 데이타셋프로바이더를 쓰셧다면 브로커 그녀석도 같이 연결해주세요.. (델7이상시 존재...)