python-3.x - sqlite3 python3,数据库的用户输入

标签 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

最佳答案

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/

相关文章:

module - 如何重新加载 Python3 C 扩展模块?

php - MySQL 到 SQLite 的迁移。我需要更新数据类型吗?

android - android中的SQLException错误处理

android - SQLite 添加列,保留数据

Android:cursor.getCount()

python - 为什么我的 pyglet 应用程序画得很有趣?

python - 对断言错误重复测试

python - 有没有办法在移动网站上向下滚动或触发无限滚动加载?

python - 从内核推断特定值的概率

android - 知道插入语句是否违反 android sqlite 中的唯一约束的最佳方法是什么