如何在 vb.net 中的两个表中进行搜索

How to search in two tables in vb.net

关于我们的 RFID 登录系统项目,我有一个问题,如果我只查询一个 table(学生),它会正确显示数据,但我们的系统不仅包括学生的登录,还包括教职员工,但当我提出这个问题时

With cmd
        .Connection = cn
        .CommandText = "SELECT Firstname,IDnum FROM Students,Faculty WHERE RFID = '" & TextBox1.Text & "'"

    End With

如果 rfid 在学生 table 或教师中等于,它应该显示等于 rfid 的数据,我不知道下一步该怎么做,请帮助

您需要在 where 子句中指定 table 和列。看起来 RFID 列对于两个 table 之一是唯一的。

举个例子(假设RFID属于students table):

With cmd
        .Connection = cn
        .CommandText = "SELECT Firstname,IDnum FROM Students s,Faculty f WHERE  '" & TextBox1.Text & "' in (f.<RFID Column Name>, s.RFID)"

End With

另一种方法是合并 table 中的搜索:

With cmd
     .Connection = cn
     .CommandText = _
         "SELECT Firstname,IDnum FROM Students s " + _
         "WHERE  '" & TextBox1.Text & "' = s.RFID " & _
         "UNION " + _
         "SELECT Firstname,IDnum FROM faculty f " + _
         "WHERE  '" & TextBox1.Text & "' = f.RFID "
End With