1

我在传递变量时遇到问题

query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra="+text+" ORDER BY Exemple ASC;")

我得到任何像这样传递我的变量文本的东西。如果我打印 query7.next() 我得到了错误..

我的程序是使用 PYQT 的,我有一个组合框,当我从中选择一些文本时,我将此文本传递给我的变量“文本”,我想在 Where Palavra = text中使用它,但我不知道该怎么做它。我这样做是因为有了它,我将获得这些文本的示例并将其放入 qtablewidget 中。

当我用一个词搜索时,比如

query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra='ronaldo' ORDER BY Exemple ASC;")

..没关系..我得到了我的例子......但是如果我为我的可变文本更改“ronaldo”,我会得到任何东西..

我创建表格以放置示例的方式是:

index1 = 0

while (query7.next()):
        self.tableWidget.setItem(index1,0,QTableWidgetItem(query7.value(0).toString()))  
        index1 = index1+1
4

1 回答 1

1

用引号括text起来,或将引号放入查询字符串中。例如:

text = "'%s'" % text

或者

query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra='"+text+"' ORDER BY Exemple ASC;")
于 2013-08-19T18:18:35.227 回答