Так что я намерен либо удалить, обновить, либо вставить кортеж, зависящий от некоторых обстоятельств, но я не могу заставить его работать.Код не работает должным образом - без ошибок
Сначала я вижу, если у меня есть какие-либо сотрудника с определенным ESSN на номер проекта, проверив:
Count = cursor2.execute ("SELECT DISTINCT FROM ESSN Works_On WHERE ESSN = И Pno =?", (ПЛА, ProjectNumber)). ROWCOUNT
который я посмотрел должен возвращать -1, если выбрать не нашел, или если он не уверен, сколько кортежей это found.In мой случай вернулся 0.
Однако когда я делаю это, если - заявления:
if((ChangeToHours==0) and (count != -1)):
print "0"
cursor2.execute("Delete FROM Works_On WHERE ESSN = ? AND Pno = ?", SSN, ProjectNumber)
print "Removed %s from project %s" %SSN, ProjectNumber
if((ChangeToHours>0) and (ChangeToHours<=40) and (count != -1)):
print "!= -1"
cursor2.execute("Update Hours SET Hours= ? WHERE ESSN=? AND Pno =?", ChangeToHours, SSN,
ProjectNumber)
print "Number of hours which employee %s works on project %s successfully changed to %d", SSN, ProjectNunmber,ChangeToHours
Используя некоторые SSN и номер проекта и ChangeToHours = 13 в качестве ввода, я должен попасть в последнее «если», но я попал в первый. Кроме того, мой код ничего не делает, он печатает 0, что я вижу. По крайней мере, он не печатает текст «Удалено ...», который он должен делать.
У меня нет ошибок, которые когда-либо выполняли этот код.
У кого-нибудь есть идеи?
С уважением, Cenderze
бы еще очень признателен за помощь (не удалось найти какую-либо информацию о натыкаясь свой пост, так что я надеюсь, что это не недооцененным). – Cenderze