我正在尝试将整数插入我的 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,但没有成功。我只是想让它按预期插入。
inserting = list(
zip(map(int, userLogin.primarykey), groupValues.entry, groupValues.food, groupValues.calories, groupValues.date, groupValues.time))
我刚刚应用了你的
primaryKey
但是如果你有任何其他字符串或不同的数据类型也将它们转换为int。希望能帮到你。