2024-09-27 19:23:31 发布
网友
我编写了一个从SQL中进行选择的脚本并返回值,该脚本使用“code=code+1”方法来创建select的条件。在
但有时候这种情况不存在,我怎么处理呢?在
下面是实际的脚本部分:
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]
SQL.execute("SELECT CodePro FROM Table WHERE CodeID = ?", x) try: CodePro = SQL.fetchone()[0] except: # Your exit here break
也许你可以修改SQL来避免空结果
例如在SQLServer中,使用以下命令:
SELECT COALESCE(CodePro,-1) FROM Table WHERE CodeID = ?
如果CodePro为空,则返回-1。在
要了解关于COALESCE的更多信息: http://msdn.microsoft.com/en-us/library/aa258244(v=sql.80).aspx
无论使用什么库来执行SQL语句,都应该有一种方法来区分空结果集和一个或多行的结果集。检查tutorial for pyodbc。这样的方法会起作用:
也许你可以修改SQL来避免空结果
例如在SQLServer中,使用以下命令:
如果CodePro为空,则返回-1。在
要了解关于COALESCE的更多信息: http://msdn.microsoft.com/en-us/library/aa258244(v=sql.80).aspx
相关问题 更多 >
编程相关推荐