0

Store update、insert、または delete ステートメントが予期しない数の行 (0) に影響を与えました。エンティティが読み込まれてから、エンティティが変更または削除された可能性があります。ObjectStateManager エントリを更新します。

私はエンティティの学習を始めたばかりで、Winforms と Webforms でいくつか遊んでいます。数日間は問題なく動作していましたが、DataView のフィールドを更新しようとするとエラーが発生します。DV で「AutoGenerateEditButton="True"」。DV は EntityDataSource に接続されています。友人が Web フォームにアクセスし、差分の場所から 1 つを編集し、編集/更新が機能した最後の時間でした。

これは、役立つ場合の更新イベントです。

Sub dgv_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles dgv.RowUpdating
Try
  Dim row As GridViewRow = dgv.Rows(dgv.EditIndex)
  Dim list As DropDownList = CType(row.FindControl("ddlDoseType"), DropDownList)
  e.NewValues("DoseType") = list.SelectedValue
Catch ex As Exception
  MsgBox(ex.ToString)
End Try
End Sub

何か案は?

4

1 に答える 1

0

次の操作を行うと、このエラーを再現できます

  • クライアント A が ID = 1 の行を読み取る
  • クライアント B は ID = 1 の行を削除します
  • クライアント A が行の内容を変更する
  • Clinet A は変更を保存しようとします

ID = 1 の行が存在しないため、質問にあったエラーが発生します。

データベースへのデータの保存ではなく、データグリッドの更新であるため、投稿したコードがエラーを引き起こしているようには見えません。

于 2012-07-21T20:08:33.410 に答える