2012-11-22 3 views
-2

주문 테이블에서 데이터를 가져 오는 중 문제가 발생하여 주문 및 가격을 편집 할 수 있습니다. 하지만 오늘은 특정 주문이 다른 사용자 나 다른 사용자에 의해 열려 있다는 것을 어떻게 알 수 있습니까? 특정 주문을 편집 중입니다. 사용자가 특정 주문을 편집하도록 제한하는 것을 의미합니다.특정 데이터에서 어떤 작업이 수행되고 있는지 어떻게 알 수 있습니까?

+2

내 경험으로는 응용 프로그램이 사용자가 편집하고 있다고 믿는 데이터를 잠그는 것은 좋은 생각이 아닙니다. 두 수정안이 모두 유효하고 충돌하지 않는 경우. –

답변

3

사용자가 "편집"버튼을 누르고 저장할 때 해제되면 "잠금"필드를 설정 한 레코드에 추가 할 수 있습니다. 그러나 이미 언급했듯이, 이것이 항상 최선의 해결책은 아닐 수도 있습니다. 버려진 잠금 장치 등을 처리해야한다는 것을 잊지 마십시오.

사용자가 변경 사항을 저장하기 직전에 더 나은 해결책 (imho)이 될 것입니다. - 레코드가 변경되었거나 "로드 된" 이 사용자가. 필드별로 필드를 비교하거나, "last_changed"필드를 확인하거나, 해시 또는 원하는 것을 비교하십시오. 검사 결과 기록이 변경되었다고 표시되면 사용자에게 원하는 작업을 요청할 수 있습니다. 변경 사항을 삭제하거나 이전 변경 사항을 덮어 쓰거나 변경 사항을 병합 (가능한 경우)하십시오.

관련 문제