我有一个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变量时,虽然数据已写入它,但它已被写为元组,而不是整数.该变量最初包含一个整数.
到底是怎么回事?我该如何解决? (我假设我需要做一些演员,但我不确定.)
解决方法:
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