다중 테이블 Access 데이터베이스를 백 엔드로 사용하는 C# 데이터베이스 기반 응용 프로그램이 있습니다. 나는 테이블에 추가하여 여러 개의보기를 사용하여 쉽게 볼 수 있도록 테이블을 다시 포맷합니다. 필자의 관점은 뷰가 데이터 표시 전용이므로 데이터를 변경하는 데 사용해서는 안되며, 특히 외래 키 바인딩이 포함 된 경우에는 사용해야합니다. 나는 이것으로 괜찮아.C#/MSAccess 프로젝트에서 테이블과 뷰를 어떻게 동기화해야합니까?
DataTable Patrons;
DataTable vPatrons;
내가 vPatrons와 콤보 상자의 무리와 후원자에 바인딩 된 텍스트 상자에 바인딩 된 DataGridView에 있습니다
그럼 내가 후원자 테이블과 vPatrons보기가 있다고 가정 해 보자. 사용자가 변경을하고 난 후원자 테이블에 대한 변경 사항 커밋 저장 버튼을 칠 때 :
_bindingSource.EndEdit();
_tableAdapter.Update(Patrons);
그래서 지금 내 후원자 DataTable을, 후원자 데이터베이스 테이블 및 vPatrons 데이터베이스보기가 모두 업데이트됩니다. 그러나 여전히 vPatrons DataTable을 업데이트해야합니다!
가 가
_tableAdapter.Fill(vPatrons);
가
사람이 테이블과 뷰 동기화에 메모리 유지할 수있는 더 좋은 방법을 알고 있습니까 :이 작업을 수행하는 내가 생각할 수있는 유일한 방법은 나에게 끔찍하게 비효율적 인 것 같습니다 전체 vPatrons의 DataTable을 다시 채우는 것입니다?
DataView에 대해 많이 알지 못합니다. 다른 테이블에 대한 외래 키 바인딩을 포함하는 여러 테이블이 있습니다 (예 : Fines.PatronID = Patrons.ID). 후원자 테이블의 일부 열의 Fines 테이블에서 모든 열을 포함하는 DataView를 만드는 방법이 있습니까? –
나는 이것을 위해 DatRelation을 사용해야한다. –