Q&A

  • tTable edit 할때 오류를 어떻게 수정해야..

입력할때 table 을 써서 입력만 했는데

이젠 코드를 구분해서..
테이블에 기존코드가 들어가 있으면 update를 하고
안들어가 있으면 insert 를 하고 싶은데

다음과 같은 오류가 나네요
어떻게 해야 하는지 ..도움 부탁드립니다.


Couldn't perform the edit because another user changed record


긴코드 일단 생략하고 간략하게 쓰면  아래처럼 했어요

IF M_EXIST(' SELECT JPCD FROM B2000 WHERE JPCD ='''+jpcd+''' ') then
  begin            
            table1.Edit; <- 요기
            table1['JPCD'] :=jpcd;
            table1['NAME'] :=jpnm;        
            table1.Post;
  end
  else
  begin      
            table1.Insert;  
            table1['JPCD'] :=jpcd;
            table1['NAME'] :=jpnm;            
            table1.Post;                
  end;// 기존 jpcd가 들어가 있으면 update 없으면 insert

2  COMMENTS
  • Profile
    장태원 2003.11.11 21:25
    Couldn't perform the edit because another user changed record

    말그대로.. 다른 유저가 사용중이기 때문에 테이블을 수정할 수 없는 것입니다.

    확인해보십시오.

  • Profile
    남영 2003.11.12 20:48
    다른 유저가 없는데요..
    txt파일을 읽어와서 라인 하나하나중의 코드를 읽어와서
    그 코드가 있을 경우 update 해주고
    그 코드가 없으면 insert 해주는건데
    한 테이블로 써서 그런가요..?
    흠 이것만 그러나요.....


    function M_EXIST(sSQL : String) : Boolean;
       begin
          qrTemp2.DatabaseName := 'dbname';
          with qrTemp2 do begin
             Close;
             SQL.Clear;
             SQL.Add(sSQL);
             Open;
             Result := not EOF;
             Close;
          end;
       end;


    긴코드 일단 생략하고 간략하게 쓰면  아래처럼 했어요

    IF M_EXIST(' SELECT JPCD FROM B2000 WHERE JPCD ='''+jpcd+''' ') then
      begin            
                table1.Edit; <b><- 요기</b>
                table1['JPCD'] :=jpcd;
                table1['NAME'] :=jpnm;        
                table1.Post;
      end
      else
      begin      
                table1.Insert;  
                table1['JPCD'] :=jpcd;
                table1['NAME'] :=jpnm;            
                table1.Post;                
      end;// 기존 jpcd가 들어가 있으면 update