python - 类型错误:+ 不支持的操作数类型:“sqlite3.Cursor”和“int”
问题描述
想从 sqlite 数据库中获取一个整数,以便我可以进行计算,但是在尝试进行数学运算时我一直遇到问题
我知道从数据库中抓取会返回一个元组,但我不确定如何从该元组中获取 int,或者是否有办法只返回一个 int
(感谢你的帮助!)
xp_update = 'UPDATE xpdata SET xp = ? WHERE user_id = ? AND guild_id = ?'
val = (xp_inc, user_id, guild_id)
cursor.execute(xp_update, val)
lvl_grab = cursor.execute('SELECT level FROM xpdata WHERE(user_id=? AND guild_id=?)', ('user_id', 'guild_id'))
xp_grab = cursor.execute('SELECT xp FROM xpdata WHERE(user_id=? AND guild_id=?)', ('user_id', 'guild_id'))
lvl_start = lvl_grab
lvl_end = int(((xp_grab+xp_inc)//42) ** 0.55)
解决方案
这不是您从数据库中检索数据的方式,请阅读一些https://docs.python.org/3/library/sqlite3.html
cursor.execute('SELECT level FROM xpdata WHERE(user_id=? AND guild_id=?)', ('user_id', 'guild_id'))
lvl_grab = cursor.fetchone()[0]
cursor.execute('SELECT xp FROM xpdata WHERE(user_id=? AND guild_id=?)', ('user_id', 'guild_id'))
xp_grab = cursor.fetchone()[0]
但是您可以在一个 SQL 查询中检索多个数据
cursor.execute('SELECT level,xp FROM xpdata WHERE(user_id=? AND guild_id=?)', ('user_id', 'guild_id'))
lvl_grab, xp_grab = cursor.fetchone()
推荐阅读
- python-3.x - 使用熊猫数据框列中的字典对象重新分配子字符串
- realm - 如何散列realmdb密码
- jenkins - 詹金斯添加了额外的 . 标记
- javascript - Javascript数组过滤功能删除键值
- api - 我想使用 API 将数据保存在 nativescript 中,但是错误 JS:[错误:网络错误:将循环结构转换为 JSON]
- javascript - 使用正则表达式提取元标记
- python - Python 内置方法
- json - JQ 到 CSV 问题
- java - 将是 ArrayList 的 Array 或 Double 维数组是这个 java 翻译程序的更好的数据结构
- android - 如何在 TextView.seterror() 中创建可点击的链接