【发布时间】:2011-01-09 03:03:51
【问题描述】:
我正在尝试将图像数据(屏幕截图)存储在 SQLite 数据库中。
现在 = int(math.floor(time.time()))
ba = QByteArray()
buff = QBuffer(ba)
image.save(buff,格式)
params = (str(ba.data()), "image/%s"%format, now, url)
s_conn = sqlite.connect("cache/screenshots_%s.db"%row['size'])
s_curs = s_conn.cursor()
s_curs.execute("UPDATE screenshots SET data=?, mime=?, created=? WHERE filename=?", params)这段代码给我错误“TypeError: not all arguments convert during string formatting”
对 QByteArray 的任何操作(包括将其转换为 Qstring)都会给我这个错误,或 ascii 到 utf-8 的转换错误。
我在谷歌上搜索了这个问题大约 2 天,每个建议对我来说都是不正确的。
我该如何解决?
【问题讨论】:
-
首先,指定导致错误的行。完整的追溯会有所帮助。然后,(假设最后一行)尝试将
params中的每个参数更改为"",一次一个,以查明损坏的参数。