【发布时间】:2018-09-02 14:54:45
【问题描述】:
尝试编写一个 SQL 查询,其中我使用内部联接从一个表中获取数据并在另一个表中显示匹配的内容,但是我收到错误“查询表达式中的语法错误(缺少运算符)”。不是确定我哪里出错了,但是我已经插入了我正在使用的代码,它看起来对我来说是正确的。
顺便说一句,代码是作为 VB 程序的一部分编写的,因此在 SQL 代码旁边有额外的代码。
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [classes] INNER JOIN [students] ON classes.StudentForename = students.Forename AND ON classes.StudentSurname = students.Surname AND ON classes.TeacherName ='" & personloggedon.Text & "' AND ON classes.Day ='" & System.DateTime.Now.DayOfWeek.ToString & "' AND ON classes.Period ='" & attendance_reg_periodComboBox.Text & "'", con)
我也尝试过使用以下代码,但同样无效。
Dim cmd as OleDbCommand = New OleDbCommand("SELECT [Forename], [Surname] FROM [classes] INNER JOIN [students] ON classes.StudentForename = students.Forename AND ON classes.StudentSurname = students.Surname AND ON classes.TeacherName ='" & personloggedon.Text & "' AND ON classes.Day ='" & System.DateTime.Now.DayOfWeek.ToString & "' AND ON classes.Period ='" & attendance_reg_periodComboBox.Text & "'", con)
我的所有 SQL 查询需要做的就是从“类”数据库中获取名字和姓氏,只要它们符合给定的标准,然后从所述数据库中获取名字和姓氏并匹配“学生”数据库。然后,它会显示在我程序的 datagridview 中。
我对SQL编码比较陌生,所以如果错误特别明显,我提前道歉!但是,我们非常感谢所有帮助。
【问题讨论】:
-
Table1 JOIN table2 on Table1.Field1 = Table2.Field1 AND Table1.Field1 = Table2.Field2 AND ....去掉第一个之后的ON
标签: sql vb.net ms-access syntax oledb