typeerror sqlite python

ffvjumwh  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(395)

我是python中sqlite的新手,我正在尝试执行以下操作:
从表中的行中提取一个特定的值,并将其与100进行比较(通常是int类型)。学校是一个表,我有以下属性:id,class,nbstudent,nbteachers,nbrepresentative
我使用以下函数:

def select_school_value(conn, class,m):
    """
    Query school by class

    """
    cur = conn.cursor()
    cur.execute("SELECT * FROM school WHERE class=?", (class,))
    record = cur.fetchone()

    return record[m]

函数的参数m只是一个数字,它取决于我要为比较提取哪个属性:nbstudent是m=2,nbteacher是m=3。。
当我使用我的函数select\u school\u value()并将返回值与100进行比较时,我有一个typeerror,返回的是nonetype。如何获得整数类型的返回(我需要的属性的类型)?
先谢谢你。

8ehkhllq

8ehkhllq1#

我想问题已经解决了 class 传递给函数和查询的参数。以某种方式重命名它,因为python将其视为指向python代码中某个类的指针。你也有 class=? 实际上意思是“找到一个等于“?”的类”。它也应该重写。
我建议你试试这个:

def select_school_value(conn,cl,m):
    """
    Query school by class

    """
    cur = conn.cursor()
    cur.execute("SELECT * FROM school WHERE class={}".format(cl))
    record = cur.fetchone()

    return record[m]

相关问题