sqlite3 python3,数据库的用户输入

时间:2019-02-27 02:48:05

标签: python-3.x sqlite

我一直在尝试从用户输入中将直接数据输入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

1 个答案:

答案 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))