我是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.
如何解决此错误?
答案 0 :(得分:3)
错误消息说明了一切。会话表与PaidLog具有外键关系。您必须先从此表更新子行。
有关“使用TableAdapter更新数据集中的两个相关表”部分的详细信息,请参阅此article on MSDN
或者您可能想要使用TableAdapterManager
答案 1 :(得分:0)
解决了!
首先,我只勾选强制参照完整性。
但我尝试勾选级联更新相关字段并且它有效!
我不知道它为什么会起作用。
有人知道这件事的原因吗?
顺便说一句,感谢Maheep。