代码无法正常工作 - 没有任何错误

时间:2013-08-06 12:25:13

标签: mysql pyodbc

所以我打算根据某些情况删除,更新或插入一个元组,但是我无法让它工作。

首先,我通过检查以确定项目编号中是否有任何具有特定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

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。

由于这是我第一次使用Python的实验室,我想我忽略了基础知识。 ChangedToHours没有变成浮点数或任何其他数据类型,这当然会导致这些比较出现问题。

所以,尴尬的修复,但可能对其他人有用!

此致 Cenderze