users
、departments
およびの 3 つのテーブルがありuser_department
ます。
以下に示すように、「Departments」という ASP.NET ページがあります。
DropDownList の項目をクリックすると、すべての部門メンバーが ListBox に表示されるようにしたい (を介してuser_department
)。
データベース:
どの SQL コマンドを実行する必要がありますか?
これは私が試したものです:
SELECT
u.username
FROM users u
INNER JOIN user_department ud ON u.user_id = ud.user_id
WHERE ud.department_id = @parameter
VB.NET
Protected Sub drpDepartments_SelectedIndexChanged(sender As Object, e As EventArgs) Handles drpDepartments.SelectedIndexChanged
Dim conn As New SqlConnection("Data Source=BRIAN-PC\SQLEXPRESS;Initial Catalog=master_db;Integrated Security=True")
Dim deptComm As String = "SELECT department_id FROM departments WHERE department_name = @DepartmentName"
Dim deptSQL As New SqlCommand
Dim dr As SqlDataReader = deptSQL.ExecuteReader()
deptSQL = New SqlCommand(deptComm, conn)
deptSQL.Parameters.AddWithValue("@DepartmentName", drpDepartments.SelectedItem.Text)
dr.Read()
If dr.HasRows Then
Dim department_id As Integer = Convert.ToInt32(dr("department_id"))
Session("DepartmentID") = department_id
End If
dr.Close()
conn.Close()
しかし、それらは機能していません。
どうすればこれを解決できるか分かりますか?