0

I am getting a missing operator syntax error when doing this query against an access DB. It works when I use SQL server. Any help appreciated:

String sql = "Select tblStudent.StudentID,tblStudent.studentFirstName,tblStudent.studentLastName,tblSchool.schoolName,tblAgents.agentFirstName,tblAgents.agentLastName,tblAgents.agentID,tblGuardians.guardianFirstName,tblGuardians.guardianLastName,tblGuardians.guardianID,tblConsultants.consultantFirstName,tblConsultants.consultantLastName,tblConsultants.consultantID " +
        "FROM (tblStudent LEFT JOIN tblSchool " +
        "ON (tblStudent.schoolID = tblSchool.schoolID)) " +
        "LEFT JOIN tblAgents " +
        "ON (tblStudent.agentID = tblAgents.agentID) " +
         "LEFT JOIN tblGuardians " +
        "ON (tblStudent.guardianID = tblGuardians.guardianID) " +
         "LEFT JOIN tblConsultants " +
        "ON (tblStudent.consultantID = tblConsultants.consultantID) " +
        "WHERE tblStudent.StudentID=@studentID";

        m_dbConnection.Open();
        using (OleDbCommand cmd = new OleDbCommand(sql, m_dbConnection))
        {
            cmd.Parameters.AddWithValue("@StudentID", studentID);
            using (OleDbDataReader dr = cmd.ExecuteReader())
            {
                while (dr.Read())
                {

                      lblSchool.Text = Convert.ToString(dr["schoolName"]);
                      lblStudentFirstName.Text = Convert.ToString(dr["studentFirstName"]);
                      lblStudentLastName.Text = Convert.ToString(dr["studentLastName"]);
                      lblAgentFirstName.Text = Convert.ToString(dr["agentFirstName"]);
                      lblAgentLastName.Text = Convert.ToString(dr["agentLastName"]);
                      lblAgentID.Text = Convert.ToString(dr["agentID"]);
                      lblGuardianFirstName.Text = Convert.ToString(dr["guardianFirstName"]);
                      lblGuardianLastName.Text = Convert.ToString(dr["guardianLastName"]);
                      lblGuardianID.Text = Convert.ToString(dr["guardianID"]);
                      lblConsultantFirstName.Text = Convert.ToString(dr["consultantFirstName"]);
                      lblConsultantLastName.Text = Convert.ToString(dr["consultantLastName"]);
                      lblConsultantID.Text = Convert.ToString(dr["consultantID"]);
                      lblID.Text = studentID;   

but if I do this: it works:

String sql2 = "Select tblStudent.StudentID,tblStudent.studentFirstName,tblStudent.studentLastName,tblSchool.schoolName,tblAgents.agentFirstName,tblAgents.agentLastName,tblAgents.agentID " +
        "FROM (tblStudent LEFT JOIN tblSchool " +
        "ON (tblStudent.schoolID = tblSchool.schoolID)) " +
        "LEFT JOIN tblAgents " +
        "ON (tblStudent.agentID = tblAgents.agentID) " +
        "WHERE tblStudent.StudentID=@studentID";

The answer was this. I had to use multiple parenthesis

  String sql = "Select tblStudent.StudentID,tblStudent.studentFirstName,tblStudent.studentLastName,tblSchool.schoolName,tblAgents.agentFirstName,tblAgents.agentLastName,tblAgents.agentID,tblGuardians.guardianFirstName,tblGuardians.guardianLastName,tblGuardians.guardianID,tblConsultants.consultantFirstName,tblConsultants.consultantLastName,tblConsultants.consultantID " +
        "FROM ((((tblStudent LEFT JOIN tblSchool " +
        "ON tblStudent.schoolID = tblSchool.schoolID) " +
        "LEFT JOIN tblAgents " +
        "ON tblStudent.agentID = tblAgents.agentID) " +
        "LEFT JOIN tblGuardians " +
        "ON tblStudent.guardianID = tblGuardians.guardianID) " +
        "LEFT JOIN tblConsultants " +
        "ON tblStudent.consultantID = tblConsultants.consultantID) " +
        "WHERE tblStudent.StudentID=@studentID";
maximdj
  • 315
  • 1
  • 12
  • which language? C#? – Suraj Rao Jan 23 '18 at 10:13
  • yes that's right – maximdj Jan 23 '18 at 10:15
  • Syntax error (missing operator) in query expression '(tblStudent.agentID = tblAgents.agentID) LEFT JOIN tblGuardians ON (tblStudent.guardianID = tblGuardians.guardianID) LEFT JOIN tblConsultants ON (tblStudent.consultantID = tblConsultants.consultantID'. – maximdj Jan 23 '18 at 10:16
  • Please [edit] your post to include any additional information you have to your question. Avoid adding this in the comments, as they are harder to read and can be deleted easier. The edit button for your post is just below the post's tags. – Suraj Rao Jan 23 '18 at 10:17

0 Answers0