0

当我想填充我的网格时,我使用这个 Select 命令:

SELECT t1.Id, t1.emertimi, kredite, pershkrim, Viti, t2.Emertimi as Expr1, emri, mbiemri
FROM Kurse as t1 INNER JOIN 
     Deget as t2 ON t1.degID = t2.Id INNER JOIN
     Pedgoge ON t1.Id = Pedgoge.kurs_id

现在,当我尝试使用在 EditCommand 完成后触发的 Update 命令更新网格时(您将 Update 作为链接),我以这种方式使用它:

UPDATE Kurse
SET t1.emertimi=@emertimi,
    kredite=@kredite,
    pershkrim=@pershkrim,
    Viti=@Viti,
    t2.Emertimi as Expr1 = @Expr1, emri=@emri, mbiemri=@mbiemri
FROM Kurse as t1 INNER JOIN 
     Deget as t2 ON t1.degID = t2.Id INNER JOIN
     Pedgoge ON t1.Id = Pedgoge.kurs_id

但这不起作用。请因为我是一名学生并且非英语母语是有点难以理解在这种情况下我应该做什么。任何帮助深表感谢

4

2 回答 2

3

UPDATE语句只更改一个表或视图

它失败了,因为子句中有两个不同的别名 ( t1and t2)SET

于 2012-06-27T12:35:52.683 回答
1

正如 Vadim 已经说过的,UPDATE 命令只能更改一张表。因此,您必须编写 3 个不同的 Update 语句。

UPDATE Kurse
SET emertimi=@emertimi,
    kredite=@kredite,
    pershkrim=@pershkrim,
    Viti=@Viti
WHERE.......

UPDATE Deget 
SET Emertimi = @Expr1, 
    emri=@emri, 
    mbiemri=@mbiemri
WHERE ......

从您的查询中,不清楚您究竟想更新什么以及在哪里更新,因此您必须where自己理清条件。

于 2012-06-27T12:45:24.260 回答