如何删除行gridview / configure数据源由多个表.net

时间:2015-11-11 17:38:27

标签: asp.net sql-server gridview

我做了一个显示

的gridview

OneAlbumID,Price,Condition,AlbumName。

使用配置数据源

这是我在Microsoft SQL上制作的View

SELECT        dbo.OneAlbum.OneAlbumID, dbo.Albums.AlbumName, dbo.Conditions.Condition, dbo.OneAlbum.Price
FROM            dbo.OneAlbum INNER JOIN
                         dbo.Conditions ON dbo.OneAlbum.ConditionID = dbo.Conditions.ConditionID INNER JOIN
                         dbo.Albums ON dbo.OneAlbum.AlbumID = dbo.Albums.AlbumID

加入这些表格

OneAlbum ---------------------------------------------- ---------------

OneAlbumID主键,

价钱,

ConditionID外键,

AlbumID外键

相册---------------------------------------------- -----------------------

AlbumID主键,

ALBUMNAME

条件---------------------------------------------- ------------------------

ConditionID主键,

条件

我尝试删除此gridview上的一行

我在这样的配置数据源上创建了一个代码

DELETE FROM  [View_OneAlbums] WHERE (OneAlbumID = GridView1.SelectedValue)

错误说

  

多部分标识符" GridView1.SelectedValue"不可能   界。查看或功能' View_OneAlbums'是不可更新的,因为   修改会影响多个基表。

如何使用配置数据源制作/设计代码以从此网格视图中删除行?

1 个答案:

答案 0 :(得分:1)

首先,您无法从数据库视图中删除记录,因为它们只是一种可视化数据的方式,而非用于编辑数据。

其次,您需要准确了解要删除的内容以及数据在视图中引用的表格中的位置。

如果您只想从GridView删除该特定行(如果您正确地表达了您的问题),则网格具有内置函数,用于从加载到其上的数据集中删除某些项目。知道这只会从网格中删除,而不是从DB视图中删除