簡體   English   中英

內部加入VB.Net

[英]Inner Join in VB.Net

#Region "FillListView"
    Sub FillListview()
        LV.Items.Clear()
        myqry = "SELECT AccResult.StudNo,Exercises.ID from AccResult INNER JOIN Exercises ON AccResult.StudNo = Exercises.ID ORDER BY AccResult.FirstName,AccResult.YrandSec Asc;"
        mycmd = New OleDbCommand(myqry, con)
        con.Open()
        mydr = mycmd.ExecuteReader
        While mydr.Read
              With LV
                .Items.Add(mydr("StudNo"))
                With .Items(.Items.Count - 1).SubItems
                    .Add(mydr("CNumber"))
                    .Add(mydr("FirstName"))
                    .Add(mydr("LastName"))
                    .Add(mydr("YrandSec"))
                    .Add(mydr("Exer1"))
                    .Add(mydr("Exer2"))
                    .Add(mydr("Exer3"))
                    .Add(mydr("Exer4"))
                    .Add(mydr("Exer5"))
                End With
            End With
        End While
        con.Close()
    End Sub
#End Region

AccResult是我的第一個表的名稱,而Exercises是第二個。 我的AccResult PK是StudNo ,而ExercisesID 如何將這兩個表連接到ListView

AccResult表:

StudNo (PK)
CNumber
FirstName
LastName
YrandSec

Exercises表:

ID (PK)
StudNo
Exer1
Exer2
Exer3
Exer4
Exer5

您的JOIN條件不正確。

AccResult INNER JOIN Exercises ON AccResult.StudNo = Exercises.ID

正在使用子表的主鍵(Exercises.ID)加入父表(AccResult.StudNo)的主鍵。 您需要將父表(AccResult.StudNo)的主鍵與子表的外鍵 (Exercises.StudNo)連接,即,

AccResult INNER JOIN Exercises ON AccResult.StudNo = Exercises.StudNo

不確定我是否正確地得到了問題,但看起來查詢只選擇列:

myqry = "SELECT AccResult.StudNo,Exercises.ID from AccResult..."

然后代碼嘗試顯示所有列。 嘗試選擇所有列:

myqry = "SELECT * from AccResult..."

嘗試這個:

myqry = "SELECT AccResult.StudNo,Exercises.ID, Exer1, Exer2, Exer3, Exer4, Exer5 from AccResult INNER JOIN Exercises ON AccResult.StudNo = Exercises.ID ORDER BY AccResult.FirstName,AccResult.YrandSec Asc;"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM