我在传递像这样的变量时遇到问题
query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra="+text+" ORDER BY Exemple ASC;")
我得到任何像这样传递我的变量文本的东西。 如果我打印 query7.next() 我会得到错误..
我的程序使用 PYQT ,我有一个组合框,当我从中选择一些文本时,我将此文本传递给我的变量“text”,并且我想在我的 Where Palavra = text,但我不知道该怎么做。我这样做是因为有了它我将获得这些文本的示例并将其放入 qtablewidget 中..
当我用一个词进行搜索时,例如
query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra='ronaldo' ORDER BY Exemple ASC;")
.. 没关系.. 我得到了带有示例的表格... 但是如果我将“罗纳尔多”更改为我的变量文本,我会得到任何东西..
我创建表格来放置示例的方式是:
index1 = 0
while (query7.next()):
self.tableWidget.setItem(index1,0,QTableWidgetItem(query7.value(0).toString()))
index1 = index1+1
最佳答案
将文本
括在引号中,或者将引号放入查询字符串中。例如:
text = "'%s'" % text
或
query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra='"+text+"' ORDER BY Exemple ASC;")
关于SELECT/WHERE 中的 python SQL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18320387/