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

时间:2015-01-23 17:47:27

标签: sql-server vb.net

我的RFID登录系统项目存在问题,如果我只查询一个表(学生),它会正确显示数据,但我们的系统不仅包括学生的登录,还包括教职员工的登录,但是我把这个查询

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

    End With

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

1 个答案:

答案 0 :(得分:0)

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

以下是一个示例(假设RFID属于students表):

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

另一种方法是将表中的搜索结合起来:

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