0

存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。

我刚开始学习实体,并在 Winforms 和现在的 Webforms 中玩过它。几天前它工作正常,现在当我尝试更新 DataView 中的字段时出现错误。DV 中的“AutoGenerateEditButton="True"。DV 连接到 EntityDataSource。一位朋友访问了网络表单并从不同位置编辑了一个,这是最后一次编辑/更新工作。

如果有帮助,这是更新事件:

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 回答