如果我首先重定向到该main.py文件所在的文件夹,则此代码运行得很好。因此,在cmd中,我只需键入:pythonmain.py。在此文件夹中,还有我的数据库“ Datalog.db”。
如果我从其他地方运行此python文件,则此代码行会出现问题:cur.execute(sql)。因此,在cmd中,我输入:python C:\ Users \ [...] \ main.py。我收到以下错误:“ sqlite3.OperationalError:没有这样的表:Datalog”。稍后,我想将此Python文件包含在node-red的pythonshell中,在那里我必须定义此main.py的完整路径。
我也尝试用它构建一个exe文件,但是随后发生了同样的错误:“ sqlite3.OperationalError:没有这样的表:Datalog”。
显然与数据库的连接不是问题,首先我的cur.execute命令不起作用。
我发现我必须“将我的SQLite数据库文件包括在include_files语句中”,但是我不知道该怎么做..
有人可以帮忙吗?对于给您带来的任何不便,我深感抱歉。我刚刚开始编程,这是我的第一篇文章。
import sqlite3 as db
db_name = 'Datalog'
output_number = 'Output1'
output = 'hello'
timestamp = '2019-11-11 09:27:02'
db_name = f'{db_name}.db'
con = db.connect(db_name)
with con:
cur = con.cursor()
sql = f"UPDATE Datalog SET {output_number}='{output}' WHERE timestamp ='{timestamp}'"
cur.execute(sql)
con.commit()
print("### DB updated ###")