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

C++빌더 Q&A
C++Builder Programming Q&A
[25678] Re:[답변] TReconcileAction type
하안인 [hurco] 456 읽음    2003-05-20 12:47
정성훈.해미 님이 쓰신 글 :
: F1 도움말에 나온 원문입니다.
:
: 참고하세욥...
:
: : 이경우 Reconcile Aciton에는 skip, cancel, correct, refresh, merge
: : 가 있어 correct를 선택하면 두번째 업데이트한 내용으로
: : 다시 레코드가 변경되는 것이 아닌가요.
:
: [답] -----------------------------------------------------------
: [raCorrect]
:  - 이벤트 핸들러에서 레코드값을 현재 업데이트된 레코드로 바꾼다.
: ----------------------------------------------------------------
:
: 나머지는 번역해서 보세욥.
:
: ------------------------------------------------------------------------------------------
: ------------------------------------------------------------------------------------------
:
: [TReconcileAction type]
:
: - Indicates how a client dataset should handle a record whose update generated an error.
:
: *Unit
: - Dbclient
:
:  enum TReconcileAction { raSkip, raAbort, raMerge, raCorrect, raCancel, raRefresh };
:
: *Description
:
: TReconcileAction is the type of the return parameter in a client dataset's OnReconcileError event handler.
: It indicates the action to take when the OnReconcileError handler exits.
: The following table lists the possible values and what they indicate:
:
: ------------------------------------------------------------------------------------------
: Value    Meaning
: ------------------------------------------------------------------------------------------
: [raSkip]
:  - Skip updating the record that raised the error condition, and leave the unapplied changes in the change log.
:
: [raAbort]
:  - Abort the entire reconcile operation.
:
: [raMerge]
:  - Merge the updated record with the record on the server.
:
: [raCorrect]
:  - Replace the current updated record with the value of the record in the event handler.
:
: [raCancel]
:  - Back out all changes for this record, reverting to the original field values.
:
: [raRefresh Back]
:  - out all changes for this record, replacing it with the current values from the server.
:
: ------------------------------------------------------------------------------------------
: ------------------------------------------------------------------------------------------
:
:
:
: 하안인 님이 쓰신 글 :
: : 빌더5의 File->New->Dialogs->ReconcileError Dialog 가 있는데요.
: : 이 다이알로그는 두명의 사용자가 어떤 한 테이블에 동시에 접근하고
: : 두사람 모두 동일한 레코드를 변경하고자 할때
: : 먼저 업데이트한 사람은 성공하고 두번째 업데이트한 사람에게는
: : 경고 메시지를 보내는 걸로 알고 있습니다.
: :
: : 이경우 Reconcile Aciton에는 skip, cancel, correct, refresh, merge
: : 가 있어 correct를 선택하면 두번째 업데이트한 내용으로
: : 다시 레코드가 변경되는 것이 아닌가요.
: :
: : 예제에서 Reconcile Dialog가 떠 있는것은
: : Modifed Value, Confilectiog Valuse, Original Value
: : 세가지있어 선택되도록 되는데
: : 제경우에는 Modified value와 Original value만이 다이알로그에 표시됩니다.
: :
: : 그리고 Correct를 선택하여도 두번째 수정한 사람의 값이 저장되는 것이
: : 아니라 첫번째 저장한 값이 저장되고요.
: :
: : 원인이 무엇인지 여러날을 헤메도 답을 못찾고 있습니다.
: : 도움을 구합니다. 참고로 빌더5에서 프로그램하고 있습니다.


현재 업데이트된 내용으로 바뀐다는 말은 두번째 업데이트된 내용이
적용된다는 말이 아닙니까?

그런데 raCorrect를 선택하여도 화면상에만 현재 변경된 값이 있고
다시 업데이트하려면 다시 ReconcileError 다이알로그가 뜨고
데이타를 닫고 다시 로드하면 첫번째 업데이트된 내용으로 저장되어있어요.

그리고 raSkip, raAbort, raCorrect는 뜨는데 raMerge,raReresh는 뜨지가 않네요

데이타베이스는 인터베이스 파이어버드로 하고 빌더5에서 작성하였는데요.
인터넷에서 bob's의 사이트에서 샘플프로그램을 받아서 실행해 보았는데
dbase를 사용해서 그런지 여기서는 다 뜨는데 이 샘플에서도
두번째 데이타를 저장하게끔은 안되어 있더라구요.

여러사용자가 한 레코드에 접근했을때 두번째부터는 레코드가 변경되었다고
알려주신것은 좋은데 두번째 사용자도 확인해서 이상이 없다면
업데이트되도록 하려고 합니다.

다시 한번 조언부탁드립니다.

그럼, 즐거운 하루되세요

+ -

관련 글 리스트
25671 [질문]ReconcileErrorevent 하안인 522 2003/05/19
25677     [답변] TReconcileAction type 정성훈.해미 544 2003/05/20
25678         Re:[답변] TReconcileAction type 하안인 456 2003/05/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.