sql query"行数"

时间:2014-04-05 18:46:04

标签: mysql sql mysqli

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" 一些可以帮助我找到解决方案

1 个答案:

答案 0 :(得分:1)

因为您使用的是INNER JOINS,所以如果所有三个表中没有相应的行,您将无法获得任何记录。

换句话说,如果DemandeConge和DemandeSalaire中的任何一个表缺少与您选择的数据相匹配的数据,则会返回0行。

要检查此问题,请尝试将INNER JOIN更改为LEFT JOIN并查看您的数据是否显示。