【问题标题】:C# TableAdapter and DataSet update with multiple tableC# TableAdapter 和 DataSet 更新多个表
【发布时间】:2012-02-08 18:38:04
【问题描述】:

我是 C# 新手,需要一些帮助。

我只想通过下面的代码更新 Session 表中的行。

        dbDataSet db = new dbDataSet();
        SessionTableAdapter sessionTableAdapter = new SessionTableAdapter();
        sessionTableAdapter.Fill(db.Session);
        var session = db.Session.Where(s => s.idSession.Equals(new Guid("{0F0B0E1A-950E-4BCE-9C68-6D1387EDAC90}"))).SingleOrDefault();
        session.endTime = DateTime.Now;
        sessionTableAdapter.Update(db.Session);

“sessionTableAdapter.Update(db.Session)”出现错误

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: The record cannot be deleted or changed because table 'PaidLog' includes related records.

如何解决这个错误?

【问题讨论】:

    标签: c# dataset tableadapter dataadapter


    【解决方案1】:

    解决了!

    一开始我只是勾选了 Enforce Referential Integrity。

    但我尝试勾选级联更新相关字段,它的工作原理!

    我不知道为什么会这样。

    有人知道这件事的原因吗?

    顺便说一句,感谢 Maheep。

    【讨论】:

      【解决方案2】:

      错误消息说明了一切。 Session 表与 PaidLog 有外键关系。您必须先更新此表中的子行。

      “使用 TableAdapter 更新数据集中的两个相关表”部分中了解更多详细信息,请参阅article on MSDN

      或者你可能想使用TableAdapterManager

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-02
        • 2011-11-19
        • 1970-01-01
        • 2020-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多