0

我想在我的网格中添加一个空行。

<asp:TemplateField>
<ItemTemplate>
    <asp:ImageButton id="Insert" runat="server" CausesValidation="false"
    CommandName="Insert" OnClick="GridViewInsert" 
    ImageUrl="~/Images/Grid/Insert.gif" />

在 GridViewInsert 事件中:

Award_Status_List list = new Award_Status_List();
    list.Award_Status_Code = " ";
    list.Award_Status_Desc = " ";
    list.Is_Active = false;
    list.Job_User = " ";
    list.Job_Name = " ";
    list.Job_Date = DateTime.Now;
    _entity.AddToAward_Status_List(list);
    _entity.SaveChanges();
    GridView2.DataBind();

在保存更改中,我收到此错误:

用户代码未处理 System.Data.OptimisticConcurrencyException 消息 =“存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体以来,实体可能已被修改或删除。刷新 ObjectStateManager 条目。” Source="System.Data.Entity" StackTrace:在 System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) 在 System.Data 的 System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter 适配器) .Objects.ObjectContext.SaveChanges(Boolean acceptChangesDuringSave) at System.Data.Objects.ObjectContext.SaveChanges() at Default1.GridViewInsert(Object sender, EventArgs e) in c:

4

3 回答 3

1

存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。此异常让您知道没有更新任何行。在我的情况下,它发生是因为我忘记添加表字段 ID。而实体框架只是不知道要更新哪些记录。

于 2010-05-07T09:32:00.570 回答
0

我无权访问您的所有代码,但看起来类似于以下内容:

  • 对象在内存中创建
  • 对象被保存到数据库并且其中一个字段被更改
  • 对内存中的对象进行更改而不从数据库中刷新它
  • 尝试保存更改

然后你会得到上面的错误。

您需要在数据绑定之前保存更改吗?

于 2009-10-03T20:10:27.603 回答
0

检查表字段中的数据类型是否符合 SQLite 文档(SQLite 版本 3 - 2.2 关联名称示例中的数据类型)中指定的要求。

于 2010-08-24T04:58:54.807 回答