0

因此,可以说我有一个基于以下内容的数据集:

SELECT     TopicLink.*, Topic.Name AS FromTopicName, Topic_1.Name AS ToTopicName
FROM         TopicLink INNER JOIN
                      Topic ON TopicLink.FromTopicId = Topic.TopicId INNER JOIN
                      Topic AS Topic_1 ON TopicLink.ToTopicId = Topic_1.TopicId

使用老式 ADO,使用 Recordset,我可以修改表 TopicLink 中的列,并在记录集上调用 Save(),然后将其返回到数据库中。这个功能在 ADO.Net 中再也不可能了,大概是使用 CommandBuilder 吗?或者有解决方法吗?

(是的,我知道我可以“简单地”编写一个存储过程......但我正在寻找一种快速简便的解决方案,基本上与我们在旧 ADO 或 MS Access 中的等效功能,您可以在其中使用多个连接进行查询,将其绑定到表单上的网格,用户可以更新和保存数据,无需任何代码)

这里的关键点:我不想手动编写 INSERT、UPDATE 和 DELETE 语句。

4

2 回答 2

1

我认为您可以通过为 ADO.net DataAdaptor 提供自己的更新命令来实现这一点。查看此处提供的示例。

于 2008-10-07T20:48:46.573 回答
0

我的理解是,只要您从要更新的每个表中选择了整个主键,就应该没问题,因为 ADO.NET 会自动知道如何处理更新的数据。但是,如果您返回的数据中没有主键,ADO.NET 将不知道它需要更新表中的哪些行,因此除非您指定自己的 UPDATE 语句(如另一个回答者建议)。

于 2009-01-13T22:35:47.930 回答