我一直在尝试从用户输入中将直接数据输入sqlite数据库,但它仅捕获第一个输入,而忽略其余输入,那我在哪里错了?
这是代码:
import sqlite3 as lite
class DataInput:
def __init__(self):
self.id = input("Enter ID: ")
self.name = input("Enter name: ")
self.price = input("Enter price: ")
running = True
a = DataInput()
con = lite.connect('kev.db')
with con:
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS cars")
cur.execute("CREATE TABLE cars(id INT, name TEXT, price INT)")
cur.execute("INSERT INTO cars VALUES(?, ?, ?)", (a.id, a.name, a.price))
while running:
DataInput()
continue
最佳答案
continue
不能帮助您。
具有提供三个用户提示的副作用的构造函数,嗯,有点不寻常,但是我们不去管它。
您要DROP / CREATE一次,然后多次插入:
with lite.connect('kev.db') as con:
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS cars")
cur.execute("CREATE TABLE cars(id INT, name TEXT, price INT)")
running = True
while running:
a = DataInput()
cur.execute("INSERT INTO cars VALUES(?, ?, ?)", (a.id, a.name, a.price))
关于python-3.x - sqlite3 python3,数据库的用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897260/