python - 我怎样才能解决以下结果?

标签 python sql windows pyodbc

我编写了从 SQL 中进行选择并返回值的脚本,该脚本使用“code = code + 1”方法来确定选择的条件。

但有时条件不存在,我该如何处理?

这里是实际的脚本部分:

SQL.execute("SELECT CodePro FROM Table WHERE CodeID = ?", x)
CodePro = SQL.fetchone()[0]

但是当没有返回值时,会打印如下错误

TypeError: 'NoneType' object is not subscriptable

最佳答案

无论您使用什么库来执行 SQL 语句,都应该有一种方法来区分空结果集和具有一行或多行的结果集。检查 tutorial for pyodbc .这样的事情会起作用:

SQL.execute("SELECT CodePro FROM Table WHERE CodeID = ?", x)
row = SQL.fetchone()
if row:                        # check if there was at least one row returned
    CodePro = row[0]

关于python - 我怎样才能解决以下结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454667/

相关文章:

python - Appengine搜索中的多个字段名称

python - Numpy 广播数组

sql - Redshift 正则表达式匹配

sql - 为什么我的 SQL 查询 != "Some Value"不返回任何 NULL 行?

sql - 如何更改表以添加约束?

c++ - 在 Qt 应用程序中接收 WM_COPYDATA 消息

python - .pb 文件的推理结果与 .h5 不匹配

python - 如何在不导入的情况下模仿 Python 模块?

c++ - 如何以编程方式判断两个变量是否位于同一个堆栈上? (在 Windows 中)

python - 监视目录中的文件更改