SQL内部连接查询表达式中的语法错误(缺少运算符)

时间:2014-01-10 02:16:53

标签: sql vb.net ms-access

我正在建立一个允许学生助理登录系统的图书馆系统。我有一个学生信息表来提取学生助理的信息,而不是将相同的信息放在学生助理帐户表中,因为这有点过于冗余。

sqlSearch = "select * from tblSALogin where SA_ID = '" & txtUserName.Text & _
 "' inner join tblStudentInfo on tblSALogin.StudentID = tblStudentInfo.StudentID"

我正在使用上面的SQL查询表达式来做到这一点,但它让我错过了操作符错误,我不知道为什么。表达式的语法是正确的,表达式所需的所有表都已经相关并且具有所需的记录。

3 个答案:

答案 0 :(得分:2)

您需要将where放在join

之后
sqlSearch = _
"select * from tblSALogin " & _
"inner join tblStudentInfo on tblSALogin.StudentID=tblStudentInfo.StudentID " & _
"where SA_ID = '" & txtUserName.Text & "'"

另请注意,使用此查询您很容易受SQL injection攻击,您应该查看使用参数化查询。

答案 1 :(得分:0)

连接应该在FROM子句中,而不在WHERE子句

答案 2 :(得分:0)

尝试这样

sqlSearch = "select tblSALogin.*,tblStudentInfo.* from tblSALogin inner join tblStudentInfo on tblSALogin.StudentID = tblStudentInfo.StudentID where SA_ID = '" & txtUserName.Text &"' "

在Join之后应该出现Where子句。