【问题标题】:Code not working properly - without any errors代码无法正常工作 - 没有任何错误
【发布时间】:2013-08-06 12:25:12
【问题描述】:

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

首先,我通过检查以下项目来查看我是否有任何员工具有特定 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,我可以看到。至少它不会打印它应该做的“已删除...”文本。

运行此代码时没有任何错误。

有人知道吗?

问候, 森德泽

【问题讨论】:

  • 仍将非常感谢一些帮助(找不到任何关于碰撞您的帖子的信息,所以我希望这不是不受欢迎的)。

标签: mysql pyodbc


【解决方案1】:

我自己解决了这个问题。

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

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

问候 森德泽

【讨论】:

    猜你喜欢
    • 2015-01-26
    • 2014-04-08
    • 2020-03-21
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多