我正在嘗試制作一個 python 程式,該程式可以使用 SQLite 資料庫跟蹤一段時間內花費的總金額來跟蹤運行總額。
現在,我有
def investement_update(a):
conn = sqlite3.connect('trades.db')
c = conn.cursor()
c.execute("SELECT * FROM money_tracker")
old = c.fetchone()[0]
print(old)
new = old a
print(new)
print(type(new))
str(new)
c.execute("UPDATE money_tracker SET invested_money = ('?')", (new))
print('asfdad')
conn.commit()
conn.close()
但是,這不斷拋出錯誤
PS C:\Users\samue\Projects\cbpro\V2> & C:/Users/samue/AppData/Local/Microsoft/WindowsApps/python3.9.exe c:/Users/samue/Projects/cbpro/V2/main.py
2.0
4.2
<class 'float'>
Traceback (most recent call last):
File "c:\Users\samue\Projects\cbpro\V2\main.py", line 5, in <module>
database.investement_update(2.2)
File "c:\Users\samue\Projects\cbpro\V2\database.py", line 65, in investement_update
c.execute("UPDATE money_tracker SET invested_money = ('?')", (new))
ValueError: parameters are of unsupported type
我不確定如何解決這個錯誤,我試過把它變成一個字串(這就是現在列出的)我試過把它作為一個整數,一個浮點數,所有這些都回傳這個錯誤. 但是,如果我對編輯進行硬編碼,它可以完美運行。
編輯
我嘗試洗掉占位符周圍的括號和引號,但仍然出現相同的錯誤。
def investement_update(a):
conn = sqlite3.connect('trades.db')
c = conn.cursor()
c.execute("SELECT * FROM money_tracker")
old = c.fetchone()[0]
print(old)
new = old a
print(new)
print(type(new))
str(new)
c.execute("UPDATE money_tracker SET invested_money = ?", (new))
print('asfdad')
conn.commit()
conn.close()
PS C:\Users\samue\Projects\cbpro\V2> & C:/Users/samue/AppData/Local/Microsoft/WindowsApps/python3.9.exe c:/Users/samue/Projects/cbpro/V2/main.py
2.0
4.2
<class 'float'>
Traceback (most recent call last):
File "c:\Users\samue\Projects\cbpro\V2\main.py", line 5, in <module>
database.investement_update(2.2)
File "c:\Users\samue\Projects\cbpro\V2\database.py", line 65, in investement_update
c.execute("UPDATE money_tracker SET invested_money = '?'", (new))
ValueError: parameters are of unsupported type
PS C:\Users\samue\Projects\cbpro\V2>
uj5u.com熱心網友回復:
洗掉引數占位符周圍的括號和引號,例如:
".. SET invested_money = ?"
引號的包含其轉換為SQL字串文本(具有的值“?”,例如。被提供的值未使用)不知不覺和不需要的括號。
另外,確保傳遞一個元組。對于單個引數,它必須這樣寫(x,):
c.execute(".. = ?", (new,))
有關詳細資訊,請參閱如何創建只有一個元素的元組。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/336553.html
