2009-11-03 5 views
-1

장면 설정 :웹 앱 전체 테이블을 한 번에 저장

New to .NET; 파이어 호스

ASP.NET MVC 응용 프로그램에서 마시는, SQL Server 백

편집 가능한 테이블 브라우저에서 하나의 SAVE 버튼.

사용자는 마우스 오른쪽 버튼을 클릭하여 행을 추가하거나 삭제할 수 있습니다.

표가 약 12 ​​시간을 초과하지 않습니다. 30 행.

내 질문 : 저장 버튼을 클릭하면 모든 내용이 저장되지만 사용자가 업데이트를 작성하면 AJAX 스타일로 행을 저장하는 것이 좋습니다. 각 행에 대해 별도의 단추 모양이 마음에 들지 않으므로 이런 방식으로 디자인했습니다. 대부분 UI 문제입니까? 행을 대량 저장하는 동안 백엔드 오류와 같은 기술적 인 문제가 누락 되었습니까?

또한 전체 테이블을 한 번에 저장한다고 가정합니다. ADO DataTable 개체를 만들거나 루프를 통해 저장 프로 시저를 호출 할 때 각 행을 삽입/업데이트하는 것이 좋습니다. 나는 LINQ를 firehose에 추가 할 수 있다고 생각하지만,이 질문은 더 적게 "답할"수 있습니다.

+0

정보 더보기 : 이것은 IntERnet 앱입니다. – BillB

+0

... 공유 호스트도 있습니다 ... – BillB

답변

1

여기에 엄청난 양의 데이터가 없으므로 테이블 끝에 30 개의 행을 모두 저장하는 것이 합당한 방법입니다. 그러나 특히 기존의 행을 변경하는 경우 다른 응용 프로그램/사용자가 동일한 데이터를 변경하여 더 자주 실패 할 경우 오류를 대비해야합니다. 변경 사항이 커밋되었다는 SQL 서버의 확인을 기다리는 지 확인하십시오.

+0

고마워요, 마이클, 지금 당장 내 계획을 고수 할 것 같습니다. – BillB

-2

SQL2005가 있다고 가정하면 모든 데이터 행을 포함하는 XML 문서를 빌드 한 다음 단일 저장된 proc를 호출하고 XML을 전달할 수 있습니다. 그런 다음 저장된 proc은 모든 행을 한 번에 저장할 수 있습니다.

+0

재미있는 제안 - 왜 아무도 쓸모가 없다고 생각하는 이유를 모르겠습니다. 0으로 다시 클릭하겠습니다. – BillB

+0

죄송합니다, 그렇게 할 자격이 없습니다. – BillB

1

이런 종류의 큰 테이블 뷰를 사용하여 이전에 수행 한 작업은 누군가 편집하려는 셀을 클릭하고 해당 텍스트가있는 텍스트 필드를 표시하기 위해 일부 아약스를 실행 한 다음 편집 한 다음들을 수 있습니다. onmouseout 및 입력 버튼을 사용하여 단일 행을 수정하라는 ajax 요청을 보냅니다.

아약스 호출의 응답이 돌아 오면 툴팁이나 저장된 내용을 추가 한 다음 셀을 새 값으로 변경할 수 있습니다.

+0

안녕 루카스 - 나는 그 접근법을 고려했지만 가능한 인터넷 대기 시간에 의해 두려워했습니다. 방화벽 외부의 앱으로이 작업을 수행 한 경우 응답 시간이 적당합니까? (나는 장면 설정에 인터넷 앱이라는 것을 포함해야했다.) – BillB

+0

이 특별한 view-of-table은 인트라넷이었다. 당신은 그것이 작동하도록 할 수 있습니다 - 엑셀의 Google 워드 프로세서 버전을 참조하십시오. 이는 모두 대기 시간, 위치 정보, 서버, 사용자, 기술 등 많은 요소에 달려 있습니다. 그것은 또한 클라이언트가 무엇을 편안하게하는지에 달려 있습니다. – lucas

관련 문제