[英]Why does adding my Sql UPDATE break my loop?
我有以下代碼,在沒有轉義的 SQL 語句的情況下,它工作正常 - 它迭代了之前 SELECT 查詢的完整返回集,打印 ID、檢測到的語言(來自 bingtranslate)和文本。
for row in c:
lang=bingtranslate(row[0])
tweetid = row[1]
print tweetid, lang, row[0]
#c.execute('UPDATE tweet SET iso_language_code=? WHERE id=?',(lang, tweetid))
當我取消 UPDATE 調用時,它會循環一次,然后停止。
是什么賦予了? 沒有報告錯誤。 我敢肯定這很簡單,但我就是無法破解...
我認為execute
的調用會改變 c 的c
,以便在下一次迭代中循環結束。
我不知道Python,所以我試着解釋一下我在C#中做了什么。
您正在使用 DataReader 的相同 object (python 中的c
)執行命令,因此您有一個重置等奇怪的行為。
在我看來,您不需要在另一個 object 中復制行,而只需創建一個新的命令 object(空)並使用它來執行您的查詢,從c
獲取參數。
如果我錯了,請糾正我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.