2010-01-24 1 views
1

데이터 집합에 데이터 집합이 포함되어 있고 데이터 집합에 datagrid의 셀 값을 변경할 때 필요한 데이터 집합이 database.what의 테이블을 포함하는 데이터 집합이 있습니다. 변경 사항은 다시 데이터베이스에 반영되어야합니다. 문제는 이러한 변경 사항이 데이터 집합에 반영 되더라도 da.Update (ds, "TableName")를 사용하여 변경 내용을 데이터베이스에 전달할 때 작동하지 않는다는 것입니다. datagrid 및 dataset에 업데이트 된 값이 표시 되더라도 데이터베이스는 여전히 이전 값을 표시합니다. 다른 위치에서 동일한 프로그램에서 da.Update() 명령을 두 번 사용했는데 제대로 작동하는 것으로 보이며 데이터베이스에 업데이트 된 값이 표시됩니다. 나는 그것이 이번에는 작동하지 않도록하는 원인을 알지 못한다. suprising wats는 오류가 발생하지 않고 코드가 제대로 실행되지만 데이터베이스에는 변경 사항이 표시되지 않습니다. 친절하게 도와주세요!데이터 집합에 대한 변경 사항을 데이터 집합과 데이터 테이블에 다시 반영합니다.

편집 : 실제로, 내가하고있는 일은 DataGrid에서 행을 선택하고 텍스트 상자에 해당 행의 모든 ​​셀 값을 표시하는 것입니다. 그런 다음 그 값을 편집하고 foll을 사용하여 저장합니다. 코드

개인 무효 btnSave_Click (객체 송신자있는 EventArgs E) { dgDetails.SelectedCells [0] = .Value txtPurpose.Text; da.Update (ds, "Scheduler"); }

아무 문제가 해결 방법이 있습니까?

답변

0

fill 및 update 메서드 호출에 동일한 데이터 어댑터를 사용하고 있습니까? 필자는 대부분 동일한 데이터 어댑터에서 채우기 및 업데이트 메서드를 호출해야한다고 생각합니다.

또한 Update를 호출하기 전에 AcceptChanges를 호출하지 않아야합니다. AcceptChanges는 데이터 세트의 상태를 변경되지 않은 상태로 변경합니다.

da.update 전에, 내가) 채우기 위해 동일한 데이터 어댑터를 사용하고 업데이트도 내가 (ds.AcceptChanges을 caling 있지 않다하고 당신이 http://www.developerfusion.com/article/3801/web-forms-datagrid-and-dataset-programming/6/

+0

나중에에서 할 무엇을 찾고 있는지 달성의 좋은 예있다(), dauchupdate()를 호출 한 후 호출하고 있습니다. –

+0

그 링크를 보았지만 데이터 세트의 변경 사항을 볼 수 있지만 유일한 문제는 변경 사항이 da.update()를 통해 데이터베이스로 전달되지 않는다는 것입니다. da.update()에 문제가없는 것 같지만 이전에 사용했을 때 잘 작동합니다. –

+0

음, AcceptChanges를 전혀 호출 할 필요가 없습니다. 업데이트 자체가 호출 한 것 같습니다. 데이터 세트에 지속적인 업데이트가 필요하다고 판단했는지 확인 했습니까? 데이터 세트의 HasChanges 값을 확인하여 변경 사항이 제대로 추적되는지 확인합니다. HasChanges가 false이고 결과적으로 Update에 대한 호출이 아무 것도하지 않을 수 있습니다. –

관련 문제