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

FireBird Q&A
[1784] [질문]Firebird2.0-Delphi7-DBExpress에서 레코드 수정시 오류
어렵다 [] 1735 읽음    2006-02-08 21:33
Firebird2.0-Delphi7-DBExpress로 레코드를 수정하려고 하는데 자꾸 에러가 나네요.

1. SimpleDataSet.Insert;
2. SimpleDataSet.Post;
3. SimpleDataSet.ApplyUpdates(0);
4. SimpleDataSet.Close;
5. SimpleDataSet.Open;
6. SimpleDataSet.Edit;
7. SimpleDataSet.Post;
8. SimpleDataSet.ApplyUpdates(0);

위와 같은 코드로 작성한 레코드는 아무 이상없이 수정이 잘 됩니다.

근데,

1. Sql := ' Insert into 테이블(기본키, 필드1) ';
    Sql := Sql+' values ('''+기본키값+''','''+필드1값+''') ';
    SimpleDataSet := TSimpleDataSet.Create(Self);
    SimpleDataSet .DataSet.CommandType := ctQuery;
    SimpleDataSet .DataSet.CommandText := SQL;
    try
      SDS.Execute;
    finally
      FreeAndNil(SimpleDataSet );
    end;
2. SimpleDataSet.Close;
3. SimpleDataSet.Open;
4. SimpleDataSet.Edit;
5. SimpleDataSet.Post;
6. SimpleDataSet.ApplyUpdates(0);

위와 같이 쿼리로 바로 Execute 시킨 레코드는 5번 코드까지만 이상없이 돌고 6번 코드에서

Project TEST.exe raised exception class EDatabaseError with message 'Record not found or changed by another user'. Process stopped. Use Step or Run to continue.

이런 에러를 발생시키네요.
물론 수정시 기본키값을 변경시키지는 않았습니다.
도대체 모가 문제일까요?
조언 부탁드립니다.

+ -

관련 글 리스트
1784 [질문]Firebird2.0-Delphi7-DBExpress에서 레코드 수정시 오류 어렵다 1735 2006/02/08
1799     Re:[질문]Firebird2.0-Delphi7-DBExpress에서 레코드 수정시 오류 civilian,안영제 1622 2006/02/14
1801         Re:Re:[질문]Firebird2.0-Delphi7-DBExpress에서 레코드 수정시 오류 어렵다. 2122 2006/02/14
1802             Re:Re:Re:[질문]Firebird2.0-Delphi7-DBExpress에서 레코드 수정시 오류 civilian,안영제 2193 2006/02/14
1803                 감사합니다.^^ 많은 도움 되었습니다.(냉무) ^^ 2056 2006/02/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.