В основном, что я хочу сделать, это вернуть записи из базы данных на основе ввода пользователя и отобразить записи в виджетах TextBrowser PyQt4.SQLite Select query не дает ошибок, но не отображает результаты.
Это код:
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» появляется для количества kw в элементах.
(Это для дипломного проекта)
у меня нет никакого опыта работы с PyQt, так что я собираюсь игнорировать тот факт, что большое количество синтаксиса недействителен в Python, потому что вы говорите, что он работает без ошибок. Но 'для строки в conn.execute (« SELECT ... »; запросы выполняются через [курсор] (https://docs.python.org/2/library/sqlite3.html), а не соединение. – roganjosh
@roganjosh курсор используется при добавлении или изменении базы данных. Я выбираю из него, поэтому ему не нужен курсор. –
Ну, вы также можете выбрать из базы данных с помощью курсора. Затем вы будете использовать что-то вроде 'cursor.fetchall() 'для получения результата. Поскольку все добавляется в список, но ничего из запроса, возможно, самое лучшее место для начала было бы посмотреть, что возвращается из вашего запроса? – roganjosh