所以我打算根据某些情况删除、更新或插入一个元组,但我无法让它工作。
首先,我通过检查以下项目来查看我是否有任何员工在项目编号上具有特定的 ESSN:
count = cursor2.execute("SELECT Distinct ESSN FROM Works_On WHERE ESSN = ? AND Pno = ?", (SSN, ProjectNumber)).rowcount
如果选择没有找到,或者不确定找到了多少元组,我查找的应该返回 -1。在我的情况下,它返回 0。
但是,当我执行这些 if - 语句时:
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 和项目 Number 和 ChangeToHours = 13 作为输入,我应该进入后一个“如果”,但我进入第一个。另外,我的代码没有做任何事情,通过它打印 0,我可以看到。至少它不会打印它应该做的“已删除...”文本。
运行此代码时,我没有收到任何错误。
有人知道吗?
问候, Cenderze