所以我打算根据某些情况删除,更新或插入一个元组,但是我无法让它工作。
首先,我通过检查以确定项目编号中是否有任何具有特定ESSN的员工:
count = cursor2.execute(“SELECT Distinct ESSN FROM Works_On WHERE ESSN =?AND Pno =?”,(SSN,ProjectNumber))。rowcount
如果select没有找到,或者如果不确定找到了多少元组,我查找的应该返回-1。在我的情况下它返回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作为输入我应该进入后者“if”但我进入第一个。此外,我的代码没有做任何事情传递它打印0,我可以看到。至少它不会打印它应该执行的“已删除...”文本。
我没有错误运行此代码。
有人有任何想法吗?
此致 Cenderze
答案 0 :(得分:0)
我自己解决了这个问题。
由于这是我第一次使用Python的实验室,我想我忽略了基础知识。 ChangedToHours没有变成浮点数或任何其他数据类型,这当然会导致这些比较出现问题。
所以,尴尬的修复,但可能对其他人有用!
此致 Cenderze