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

标签 mysql pyodbc

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

首先,我通过检查以下内容来查看项目编号上是否有具有特定 ESSN 的员工:

count =cursor2.execute("从 Works_On 中选择不同的 ESSN WHERE ESSN = ? AND Pno = ?", (SSN, ProjectNumber)).rowcount

如果 select 没有找到任何元组,或者不确定找到了多少个元组,我查找的应该返回 -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 和项目编号以及 ChangeToHours = 13 作为输入,我应该进入后一个“如果”,但我进入第一个。另外,我的代码没有做任何事情,通过打印 0,我可以看到。至少它不会打印它应该打印的“已删除...”文本。

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

有人有什么想法吗?

问候, 森德泽

最佳答案

我自己解决了这个问题。

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

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

问候 森德泽

关于mysql - 代码无法正常工作 - 没有任何错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080116/

相关文章:

MySql 基本表创建/处理

php - 无法从数据库检索数据

python - 将对象传递给 python SQL

python - 如何在 Airflow 中的 dag 中使用 pyodbc 连接到 SQL Server

sql - 使用 Django 模型查询时如何确保像 NOLOCK 这样的 SQL

sql-server - 从 IIS 到 SQL 服务器的 Kerberos 双跳委派(使用 django)

python - 无法使用 pyodbc 更新 sql 数据库表中的多个列

php - 在表中插入数据和多个图像 [PHP]

php - 从当月开始统计 ID

php - 如何按 ON、OFF、SOLD 对行进行排序