更新包含加入的查询

时间:2018-05-30 14:45:06

标签: sql asp.net tsql gridview

我有一个gridview,它使用下面的SELECT语句显示数据。

SELECT  Categories.Description AS Category,  Files.FileID,  
        Filename, Files.Description,  IsPublished, Files.IsArchived
FROM Files 
INNER JOIN Categories 
   ON Files.CategoryID = Categories.CategoryID
WHERE Files.CategoryID = Categories.CategoryID

我现在需要一个UPDATE语句来编辑所有这些列。我无法用两张表来解决这个问题。我已经生成了以下内容,但在我尝试编辑列时它没有做任何事情。

UPDATE [Files] 
SET [CategoryID] = @CategoryID, [Filename] = @Filename, [Description] = 
@Description, [IsPublished] = @IsPublished, [IsArchived] = @IsArchived  
WHERE [Files.ID] = @FileID

1 个答案:

答案 0 :(得分:1)

我认为你需要两个陈述。您的类别记录需要在文件记录之前存在,因为它在另一个表中被引用。

如果您有外键约束,则会抛出错误。