2015-01-23 3 views
-1

У меня есть проблема с нашим системным проектом в журнале RFID, если я только запрашиваю одну таблицу (Student), она корректно отображает данные, но наша система включает в себя не только вход в систему студенты, но и для преподавателей и сотрудников, но когда я поставил этот вопросКак искать в двух таблицах в vb.net

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

    End With 

он должен показать данные, равный РЧИД, если он равен либо в таблице студентов или факультете, я не знаю, что сделайте следующее, пожалуйста, помогите

+3

Прежде чем делать что-нибудь еще, пожалуйста, пожалуйста, , ознакомьтесь с SQL-запросами и параметризованными запросами. Это судебный процесс, ожидающий своего служения. –

+0

http://stackoverflow.com/questions/542510/how-do-i-create-a-parameterized-sql-query-why-should-i – Plutonix

ответ

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 
+0

Я не получаю ошибку, но даже если я ввел правильный идентификатор для факультет отображает другую информацию из таблицы учеников –

+0

Это выглядит так, потому что столбцы FirstName, IDNum взяты из таблицы «students». Вы можете рассмотреть возможность объединения запросов в две таблицы. Я обновлю ответ. – mrtig

+0

спасибо, я поработаю над этим. –

Смежные вопросы