簡體   English   中英

Python 無法向 SQLITE3 數據庫插入數據

[英]Python Can't Insert Data to SQLITE3 database

我正在嘗試完成一個項目,其中 ESP8266 將 DHT22 數據發送到 Raspberry Pi,然后 Pi 通過 Python 腳本將數據實現到 sqlite 數據庫。 然后腳本從數據庫中提取數據並將其插入到 HTML 網頁中,該網頁隨后成為 Web 服務器。 我正在使用本教程: https : //randomnerdtutorials.com/esp8266-publishing-dht22-readings-to-sqlite-database/#comment-355609

ESP 成功地將 DHT 數據發送到 PI,因為我可以在輸出中看到它。 此外,HTML 網頁顯示手動輸入的 SQLite 數據,但 Python 無法向數據庫插入任何數據。

(由於格式問題,無法粘貼代碼。我是本網站的新手。)謝謝。

我已經通過命令行創建了表格。

c.execute("""INSERT INTO dhtreadings (temperature,
        humidity, currentdate, currentime, device) VALUES((?), (?), date('now'),
        time('now'), (?))""", (dhtreadings_json['temperature'],
        dhtreadings_json['humidity'], 'esp8266') )

並使用currenttime代替了原始代碼中顯示的currentime。 我真不敢相信 這么小的細節毀了我一整天。 我也認為currenttime是正確的版本,因為它是正確的英語版本。

使用查詢“插入,刪除,更新”重寫bd后,conn.commit()。 info = 0測試並編輯我的代碼:

c.execute("SELECT * FROM dhtreadings")
c.execute("INSERT INTO dhtreadings(temperature,humidity,currentdate,currentime,device)VALUES(?,?,?,?,?);",(info,info,info,info,info))
conn.commit()

順便說一句,個人創建數據庫也必須來自代碼,因為如果使用例如sqladmin.exe來創建數據庫,則可能會給出錯誤或只是不寫入文件。

c.execute("CREATE TABLE dhtreadings(temperature,humidity,currentdate,currentime,device)")
conn.commit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM