如何将二维数组中的整数插入到 SqL 中?

问题描述 投票:0回答:1

我正在尝试将整数插入我的 SqL 数据库,但无论我如何尝试使用解决方案重新排列我的代码,它都会显示错误。

这是我受影响的代码,供参考;

def sqlInput(groupValues,userLogin):
    if xx==1:
        try:
            sqliteConnection=sqlite3.connect('NEA.db')
            cursor=sqliteConnection.cursor()
            print()
            print("Connected to SQLite server.")
            print()
            cursor.execute('''CREATE TABLE IF NOT EXISTS "Food Tracker" (
                        ID INTEGER PRIMARY KEY,
                        "Entry Number" INTEGER,
                        "Food Item" TEXT,
                        "Calorie Count" INTEGER,
                        "Date Eaten" TEXT,
                        "Time Eaten" TEXT
                    )''')

            insertQuery = """INSERT INTO "Food Tracker" (
                        "ID", "Entry Number", "Food Item", "Calorie Count", "Date Eaten", "Time Eaten"
                    ) VALUES (?, ?, ?, ?, ?, ?)"""
            inserting = list(


            zip(userLogin.primarykey, groupValues.entry, groupValues.food, groupValues.calories, groupValues.date, groupValues.time))



            cursor.executemany(insertQuery,inserting)
            sqliteConnection.commit()
            print("Succesfully entered data into SQLite database.")
            time.sleep(1.0)
            print()
            menu(groupValues)
        except sqlite3.Error as error:
            print()
            print("Failed to insert data into SQLite database, for;", error)
            print()
        finally:

            if sqliteConnection:
                sqliteConnection.close()

groupValues 在代码顶部定义为空列表,例如;

 groupOfValues:
    def __init__(self):
        self.food=[]
        self.calories=[]
        self.date=[]
        self.time=[]
        self.exercise=[]
        self.duration=[]
        self.caloriesburnt=[]
        self.entry=[]

我还使用随机数制作了一个主键生成器,它希望根据“ID”和“userLogin.primarykey”成为代码中的主键。

在该子程序运行之前,时间和日期也会被存储。

这一切本质上都归结为滑索。

我无法创建这些字符串,尤其是主键。我尝试在SQL指令中使用map和int,但没有成功。我只是想让它按预期插入。

python sql sqlite
1个回答
0
投票
inserting = list(
zip(map(int, userLogin.primarykey), groupValues.entry, groupValues.food, groupValues.calories, groupValues.date, groupValues.time))

我刚刚应用了你的

primaryKey
但是如果你有任何其他字符串或不同的数据类型也将它们转换为int。希望能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.