Python无法将数据插入SQLITE3数据库

时间:2019-02-12 17:51:26

标签: python sqlite raspberry-pi esp8266

我正在尝试完成一个项目,其中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无法将任何数据插入数据库。

(由于格式问题,无法粘贴代码。我是这个网站的新手。) 谢谢。

2 个答案:

答案 0 :(得分:1)

我已经通过命令行创建了表格。

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是正确的版本,因为它是正确的英语版本。

答案 1 :(得分:0)

使用查询“插入,删除,更新”重写bd后,

conn.commit()。 信息= 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()