SQLite查询返回false

时间:2018-10-17 09:09:58

标签: python sql tkinter sqlite python-3.4

因此,对于我的项目,我试图让用户在文本框中键入一些内容,如果该内容等于数据库中存储的内容,那么它将告诉他们这是事实。但是,即使输入正确的内容,它也会返回false。这是获取答案,返回并进行比较的部分的当前代码:

    def submit():
        answerA=entry_A.get()
        answerB=entry_B.get()
        answerC=entry_C.get()
        answerD=entry_D.get()
        answerE=entry_E.get()
        answerF=entry_F.get()
        print(answerA,", ",answerB,", ",answerC,", ",answerD,", ",answerE,", ",answerF)

        labelA=cursor.execute\
        ("select labelA from diagramLabels where diaName == 'plantCell'").fetchall()
        con.commit()
        if labelA == answerA:
            print("Answer A is correct")
        else:
            print("Answer A is false")

And this is the result it gives in Idle, along with what's in the database

请告诉我我在做错什么。

1 个答案:

答案 0 :(得分:1)

您应该使用fetchone()而不是fetchall()
fetchall()返回许多行(例如:(('nucleus',),)),而fetchone()仅返回一行。 然后,您将获得如下内容:('nucleus',)
然后,您可以将其与labelA[0] == answerA进行比较。