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ステートメントは、1 つのテーブルまたはビューのみを変更します

句に 2 つの異なるエイリアス (t1およびt2)があるため、失敗します。SET

于 2012-06-27T12:35:52.683 に答える
1

Vadimがすでに述べたように、UPDATEコマンドは1つのテーブルしか変更できません。したがって、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 に答える