fetchone()将int变量设置为tuple

时间:2011-07-06 22:27:20

标签: python variables sqlite integer tuples

我有一个使用Python 2.7和SQLite3的项目。

我试图在SQLite3数据库列中存储一个整数变量,然后能够将变量设置为SQLite列的值。

连接正常,列存在,类型为“int”。

我正在使用此代码来提取数据:

    Trailcrest.fish_score = c.execute("SELECT fish_score FROM roster WHERE agentnumber = ?;", (AN,) ).fetchone()

当调用包含此代码的def时,我正在调用的“AN”变量作为参数提供。

但是,当我查看Trailcrest.fish_score变量时,虽然数据已写入它,但它已被写为元组,而不是整数。该变量最初包含一个整数。

发生了什么事?我该如何解决? (我假设我需要做一些演员,但我不确定。)

1 个答案:

答案 0 :(得分:7)

fetchone()仍会返回一个类似行的对象,您需要从中解析单独的字段,因此您需要从中获取数据

row = c.execute("SELECT fish_score FROM roster WHERE agentnumber = ?;", (AN,) ).fetchone()
if row is not None:  # or just "if row"
    Trailcrest.fish_score = row[0]
else:
    pass # didn't get back a row