首页 > 解决方案 > 从一个 sqlite3 表中的列中获取值并插入到另一个表中

问题描述

我正在尝试在我的程序中添加一项功能,在该程序中,老师会为他们制作的课程中的用户布置作业。有一个用户表,其中每个用户都有一个唯一的用户 ID、类名、名字和姓氏。我正在尝试获取某个班级学生的用户 ID,并将它们插入到 HomeworkSet 表中。我能够成功检索用户 ID,但是当我将它们插入 HomeworkSet 表时,这些值显示为(例如)('2a1910e919a84230bfc2a7111160cade'),我不确定我应该如何删除括号和撇号。

def Class_sethw():
        homeworktoset = Homework_To_Set.get()
        #print (homeworktoset)
        conn = sqlite3.connect('MyComputerScience.db')
        c = conn.cursor()
        homeworkID = c.execute("SELECT HWID FROM HomeworkInfo WHERE HomeworkName = ?", (homeworktoset, )).fetchone()
        print (homeworkID)
        c.execute("SELECT UserID FROM users WHERE ClassName = ?", (ClassName_SetHWR, ))
        homeworksetlist = c.fetchall()
        print (homeworksetlist)
        for i in (homeworksetlist):
            #x = i
            #firstname, lastname = x.split(" ")
            c.execute('insert INTO HomeworkSet (HWID, StudentID)VALUES(?,?);', ((homeworkID[0]), str(i)))
            conn.commit()
            Label(sethw, text = "Homework Set!", fg = "GREEN").place(relx=0.205, rely=0.445, height=34, width=97)

这是我使用的代码。

标签: pythonsqlite

解决方案


你应该改变这一行:

for i in (homeworksetlist):

至:

for i in homeworksetlist:

推荐阅读