我在向数据库添加信息时遇到了一些麻烦。我得到的问题是,我的代码控制台显示&;operationalerror &;。有人知道怎么解决这个问题吗?我的代码如下所示:
import sqlite3
def add_data(cursor):
a = input("Insert 'a':")
b = input("Insert b:")
c = input("Insert c:")
d = input("Insert d:")
expression=f'INSERT INTO data VALUES ( {a}, {b}, {c}, {d});'
cursor.execute(expression)
def main(db_file):
con, cur = get_connection(db_file)
adddata = add_data(cur)
print(row)
main('data.db')
您可以将当前代码转换为以下代码:
...
def add_data(cursor):
id = input("Insert 'id':")
abbrev = input("Insert abbrev:")
latin = input("Insert latin:")
common = input("Insert common:")
expression=f'INSERT INTO species VALUES (?,?,?,?)'
cursor.execute(expression,(id,abbrev,latin,common,))
def main(db_file):
con, cur = get_connection(db_file)
adddata = add_data(cur)
con.commit()
main('data.db')
,
- 多余的
for
游标被删除 DML
语句已提交- 变量的占位符应转换为问号,而不是显式的变量名,因为更安全
execute
函数 中的参数列表为包含四个元素的元组