[英]How can I solve the following result?
我有一個腳本從SQL編寫一個select並返回值,腳本使用“code = code + 1”方法來制作select的條件。
但有時條件不存在,我該如何處理?
這里是實際的腳本部分:
SQL.execute("SELECT CodePro FROM Table WHERE CodeID = ?", x)
CodePro = SQL.fetchone()[0]
但是,如果未返回任何值,則會打印以下錯誤
TypeError:'NoneType'對象不可訂閱
SQL.execute("SELECT CodePro FROM Table WHERE CodeID = ?", x)
try:
CodePro = SQL.fetchone()[0]
except:
# Your exit here
break
也許您可以修改SQL以避免Null結果。
比如在SQLServer中,使用這個:
SELECT COALESCE(CodePro,-1) FROM Table WHERE CodeID = ?
如果CodePro為空,它將返回-1。
了解有關COALESCE的更多信息: http : //msdn.microsoft.com/en-us/library/aa258244( v = sql.80) .aspx
一種選擇是用try / except包圍它,並讓“except”將CodePro設置為一個值,讓你知道它沒有找到任何東西(例如:-1)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.