SELECT / WHERE中的python SQL变量

时间:2013-08-19 18:16:17

标签: python sql pyqt qsqlquery

我在传递像

这样的变量时遇到了问题
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;")

..好吧..我拿着我的桌子上的例子...... 但如果我为我的变量文字更改“ronaldo”,我会得到任何东西..

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

index1 = 0

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

1 个答案:

答案 0 :(得分:1)

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

text = "'%s'" % text

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