【发布时间】:2015-05-12 13:49:03
【问题描述】:
大家好,我有两张表 Patient([NumPatient],[NomPatient],[AdressePatient],[GSM],[Ville],[CIN]) 和 rdvs([num_rdv],[date_heure_rdv],[etat_rdv], [num_pat])。 num_pat 是 rdvs 表中的外键。 我想在两个表之间建立一个联合,以便根据表 rdvs 的 [num_pat] 的值显示表患者值中的 [NomPatient] 我试图让它像这段代码显示的那样,但它没有工作:
Private Sub Combonumrdv_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Combonumrdv.SelectedIndexChanged
Connection()
con.Open()
cmd.CommandText = "select NomPatient from Patients INNER JOIN rdvs on Patients.NumPatient = '" & Combonumrdv.SelectedValue & "' = rdvs.num_pat "
Dim res As String = cmd.ExecuteScalar
txtnompat.Text = res
con.Close()
End Sub
我知道问题出在我的 sql 请求中,谢谢。
【问题讨论】:
-
查看您的查询。你的连接谓词有这个“其中 x = y = z”这没有意义。您应该让它加入 table1.value = table2.value 并使用 where 子句过滤行。您还应该考虑参数化查询,而不是直接执行用户输入。
-
我也试过这个 cmd.CommandText = "select NomPatient from Patient INNER JOIN rdvs on Patient.NumPatient = rdvs.num_pat where rdvs.num_pat = '" & Combonumrdv.SelectedValue & "'"
-
没有。您不会将该值放在连接谓词中。你把它放在 where 子句中。
标签: sql .net sql-server vb.net jointable