2014-03-01 2 views
0
recordCheck = c.execute("SELECT * FROM Student, Behaviour WHERE Forename=:oldForename, Surname=:oldSurname,  YearGroup=:oldYearGroup, FormNumber=:oldFormNumber, Date=:oldDate, BehaviourType=:oldBehaviourType", {"oldForename":oldForename, "oldSurname":oldSurname, "oldYearGroup":oldYearGroup, "oldFormNumber":oldFormNumber,"oldDate":oldDate,"oldBehaviourType":oldBehaviourType}) 

Это возвращает эту ошибку:Что не так с этим? (Sqlite3)

OperationalError: near ",": syntax error 

Но я не могу видеть, что случилось с ним. Может ли кто-нибудь помочь?

ответ

2

Запятая не является действительным в пункте where. Условия обычно разделяются AND или OR. Таким образом, это является недопустимым:

WHERE Forename=:oldForename, Surname=:oldSurname 

Одно из них было бы справедливо:

WHERE Forename=:oldForename AND Surname=:oldSurname 

WHERE Forename=:oldForename OR Surname=:oldSurname 
+0

Спасибо. Тем не менее, я исправил это, но все равно получаю ту же ошибку при попытке запустить его. – Jambofun

+0

Может ли кто-нибудь помочь в этом? – Jambofun

+0

@ Jambofun. , , Вы меняли * все * запятые? –

0

Использование WHERE X=Y AND Y=Z не WHERE X=Y, Y=Z

recordCheck = c.execute("SELECT * FROM Student, Behaviour WHERE Forename=:oldForename AND Surname=:oldSurname AND YearGroup=:oldYearGroup AND FormNumber=:oldFormNumber AND Date=:oldDate AND BehaviourType=:oldBehaviourType", {"oldForename":oldForename, "oldSurname":oldSurname, "oldYearGroup":oldYearGroup, "oldFormNumber":oldFormNumber,"oldDate":oldDate,"oldBehaviourType":oldBehaviourType}) 
0

Вы используете запятые в предложении WHERE, и вы должны использовать AND-х.

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

  • Нет связанных вопросов^_^