我一直在尝试从用户输入中将直接数据输入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
答案 0 :(得分:1)
continue
对您没有帮助。
一个具有提供三个用户提示的副作用的构造函数,嗯,这有点不寻常,但是我们会放任不管。
您要删除/创建一次,然后多次插入:
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))