query = "select c.idEmp, c.idEtat, c.idNiveauValidation," & _
" c.niveauDejaValider ,T.idTypeD , " & _
"s.idEmp , s.idNiveauValidation ,s.niveauDejaValider " & _
" from TypeDemande T " & _
"INNER JOIN DemandeConge c on c.idTypeD = T.idTypeD " & _
"INNER JOIN DemandeSalaire s on s.idTypeD = T.idTypeD " & _
"WHERE (c.idTypeD= " & ddlTypeDemande.SelectedValue & " ) OR ( s.idTypeD=" & ddlTypeDemande.SelectedValue & ")"
sqlCon.Open()
Dim sqlCmd As New SqlCommand(query, sqlCon)
Dim sqlAdap As New SqlDataAdapter(sqlCmd)
Dim ds As New DataSet
Dim dt As New DataTable
sqlAdap.Fill(ds, "TypeDemande")
dt = ds.Tables("TypeDemande")
Dim n As Integer
n = dt.Rows.Count
If n > 0 Then
enter code here
................
行返回的数量总是" 0" 一些可以帮助我找到解决方案
答案 0 :(得分:1)
因为您使用的是INNER JOINS
,所以如果所有三个表中没有相应的行,您将无法获得任何记录。
换句话说,如果DemandeConge和DemandeSalaire中的任何一个表缺少与您选择的数据相匹配的数据,则会返回0行。
要检查此问题,请尝试将INNER JOIN
更改为LEFT JOIN
并查看您的数据是否显示。