无法通过带有 TableAdapter 的视图更新 SQL

Posted

技术标签:

【中文标题】无法通过带有 TableAdapter 的视图更新 SQL【英文标题】:Unable to Update SQL via a View with TableAdapter 【发布时间】:2014-04-04 15:58:45 【问题描述】:

我有一个带有许多表的 SQL Server 2012 数据库。我也有许多视图,所有这些视图都使用一个基表,找不到连接(但自然我的数据库确实有它们之间的键约束)。

在我正在使用 VS2012 进行的项目中,我有一个数据集 .xsd 文件,其中包含我所有的表适配器。我可以打电话给他们就好了。但是,当我尝试为我的一个视图表适配器创建一个新视图时,“生成方法以将更新直接发送到数据库 (GenerateDBDirectMethods)”的选项显示为灰色,这是我没想到的,因为我只是使用单基表。

【问题讨论】:

【参考方案1】:

先重命名视图,然后再创建一个与原视图同结构同名的空表:

SELECT * INTO SurveyPage1 FROM SurveyPage1_view WHERE 1=2

构建您的 TableAdapter,然后删除表并将视图重命名。

【讨论】:

以上是关于无法通过带有 TableAdapter 的视图更新 SQL的主要内容,如果未能解决你的问题,请参考以下文章

使用 DataSet 更新 TableAdapter - 更新需要有效的 DeleteCommand 错误

如何使用 TableAdapter 进行更新?

Datagridview 更新到多个表而不使用 bindingsource 或 tableadapter

在 vb.net 中使用 tableadapter 更新旧数据并添加新数据

将 TableAdapter 与基类、接口或部分类一起使用的更智能方法

在 Swift 中重新加载/更新视图