fetchone() 将整型变量设置为元组
我有一个项目,使用的是Python 2.7和SQLite3数据库。
我想把一个整数变量存储到SQLite3数据库的某一列中,然后再把这个列的值赋给一个变量。
连接没问题,列也存在,并且它的类型是“int”(整数)。
我用以下代码来获取数据:
Trailcrest.fish_score = c.execute("SELECT fish_score FROM roster WHERE agentnumber = ?;", (AN,) ).fetchone()
我调用的“AN”变量是在调用这个代码所在的函数时作为参数传入的。
但是,当我查看Trailcrest.fish_score变量时,虽然数据已经写入,但它被写成了一个元组,而不是整数。这个变量最开始是一个整数。
这是怎么回事呢?我该怎么解决?(我猜可能需要进行一些类型转换,但我不太确定。)
1 个回答
8
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