我正在用pyqt开发一个简单的gui,并试图更新我的数据库,但迄今为止没有任何运气。我对qt、数据库和python都很陌生;)所以我不知道我的代码有什么问题,也许有人能帮我一点忙。在
在使用python(3)和sqltie3时,我可以这样更新我的数据库:
cur.execute('''UPDATE news SET Raw=? WHERE id=?''', (raw, news_id))
但pyqt的工作原理是这样的:
^{pr2}$我试过了:
query.exec_("UPDATE news SET Raw = ? WHERE Id = ?", (raw, news_id))
导致此错误的原因:
TypeError: arguments did not match any overloaded call:
QSqlQuery.exec_(str): too many arguments
QSqlQuery.exec_(): too many arguments
在《使用qt进行快速gui编程》一书中,他是这样进行查询的(不完全是那样,但我尝试了适应它):
query.exec_('''UPDATE news SET Raw={0} WHERE id={1}'''.format(raw, news_id))
它似乎什么也没做。在
而且(似乎也什么都没做):
raw = 'test'
query.prepare("UPDATE news SET (Raw) VALUES (:raw) WHERE Id = 9 ")
query.bindValue(":raw", raw)
#query.bindValue(":news_id", 9)
query.exec_()
我在这里和其他地方找到了一些东西,但到目前为止还没有任何运气。在
您似乎还没有尝试正确的语法,应该是:
相关问题 更多 >
编程相关推荐