SQLite Select查询不提供错误,但不显示结果

2024-09-27 21:31:27 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我要做的是根据用户的输入从数据库返回条目,并在PyQt4的textBrowser小部件中显示记录。在

代码如下:

    def url_search(self):
        self.browserUrl.append("Look") \\ for testing reasons, works.
        items = []
        for index in range(self.listUrl.count()):
             items.append(self.listUrl.item(index))
             conn = sqlite3.connect(directory + '\\CyberConan Databases\\CB Database\\Google Chrome\\Chrome Artifacts.db')
        for kw in items:
            self.browserUrl.append("it is") \\for testing reasons, works
            x = str(kw)
            for row in conn.execute("SELECT * FROM urls WHERE ID LIKE ? OR URL LIKE ? OR Title LIKE ? "
                                "OR Visit_Count LIKE ? OR Typed_Count LIKE ?;",
                                ("'%"+x+"%'", "'%"+x+"%'", "'%"+x+"%'", "'%"+x+"%'", "'%+x+%'")):
                 self.browserUrl.append("working") \\ for testing reasons, does not work
                 self.browserUrl.append(str(row[0]))
                 self.browserUrl.append(str(row[1]))
                 self.browserUrl.append(str(row[2]))
                 self.browserUrl.append(str(row[3]))
                 self.browserUrl.append("working man!") \\ for testing reasons, does not work
                 self.browserUrl.append(str(row[4]))
                 self.browserUrl.append(str(row[5]))

所以用户只要按一个按钮,这个函数就会运行。我得到的唯一输出是:

Look

it is

每次按下按钮时都会出现此输出。所有的命名都是正确的。我没有错误。该表包含用户正在搜索的内容,因此应该有输出。请注意,“it is”(它是)出现在项目中的千瓦数。在

(这是毕业设计)


Tags: or用户inselfforisitemsit
1条回答
网友
1楼 · 发布于 2024-09-27 21:31:27

好吧,所以我发现了问题所在。在

第一:select语句中的字符串分析没有正确完成。在

第二:当我从列表中返回项目时,我返回的是它们的“位置”,而不是字符串本身。在

这是为任何可能遇到类似问题的人解决的代码:

    def url_search(self):
         items = []
         for index in range(self.listUrl.count()):
              thing = self.listUrl.item(index)
              items.append(thing.text())
         conn = sqlite3.connect(directory + '\\CyberConan Databases\\CB Database\\Google Chrome\\Chrome Artifacts.db')
         for kw in items:
              x = str(kw)
              for row in conn.execute("SELECT * FROM urls WHERE ID LIKE ? OR URL LIKE ? OR Title LIKE ? "
                                "OR Visit_Count LIKE ? OR Typed_Count LIKE ?;",
                                ("%"+x+"%", "%"+x+"%", "%"+x+"%", "%"+x+"%", "%"+x+"%")):
                   self.browserUrl.append(str(row))
    conn.close()

相关问题 更多 >

    热门问题