1
我试图在SQLite数据库中存储图像数据(屏幕截图)。 Python:插入QByteArray到SQLite
now = int(math.floor(time.time())) ba = QByteArray() buff = QBuffer(ba) image.save(buff, format) 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:不是所有在字符串格式化过程中转换的参数” 任何使用QByteArray(包括将其转换为Qstring)的操作给我这个错误,或ascii到utf-8转换错误。 我把谷歌搜索了大约2天,每个建议对我来说都不正确。 我该如何解决它?
首先,指定哪条线路导致错误。完整的追溯将会有所帮助。然后,(假设最后一行)尝试将`params`中的每个参数更改为`“”``,一次一个,以查明破损的一个。 – TryPyPy 2011-01-09 09:08:47