Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/55: Рейтинг темы: голосов - 55, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 05.05.2020
Сообщений: 227
PyQt5

Как получить название столбца или как обратиться к столбцу зная лишь его индекс SQLITE3

05.11.2020, 02:39. Показов 10627. Ответов 5

Студворк — интернет-сервис помощи студентам
В PyQt5 в Sqlite3 хочу получить поля, которые содержат определенное значение. Для большей простоты требуется выделить столбец, в котором будет происходить поиск. Следовательно могу легко получить индекс этого столбца. Но что дальше? Как мне конкретно в этом столбце получить те ячейки, в которых содержатся определенные значения?

Предположим я хочу найти ячейку с значением "orange". Я знаю номер столбца, в котором идёт поиск.
Пишу 'SELECT column FROM table WHERE column = %s' % "orange"
Правильно ли я задал запрос? Что нужно поставить вместо column?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2020, 02:39
Ответы с готовыми решениями:

Как обратиться к определенному ноду контрола TreeView, зная лишь его Ключ (Key)
Расскажите пожалуйста, как обратиться к определенному ноду контрола TreeView, зная лишь его Ключ (Key)? Большинство операций с нодами...

Как обратиться к объекту, зная его название в виде строки?
Приветствую всех посетивших данную тему. Собственно, что имею: C#, есть переменная chairname. Её содержимое формируется через текстбокс +...

Как получить позицию компонента, зная только его название
Люди как получить позицию компонента зная только его название? :umnik:

5
60 / 74 / 3
Регистрация: 27.04.2016
Сообщений: 66
05.11.2020, 13:01
Давайте по другому, у меня есть уникальная колонка ID с параметром "первичный ключ".

Можно получить из таблицы QTableWidget ID выделенной строки

Python
1
2
for item in window.requestTable.selectedIndexes():
            d=window.requestTable.item(item.row(), 0).text()
и по ней набрать в базе

Python
1
2
3
4
5
zaprosPrint = 'SELECT * FROM requests WHERE (id LIKE "' + d + '")'
    Cur.execute(zaprosPrint)
    records = Cur.fetchall()
    for row in records:
        print(row[0], 'и', row[1])
По ID вы найдёте нужную, или любому другому уникальному полю. Своё значение ищите в какой-то из row[x], где x номер колонки начиная с нуля.
1
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
05.11.2020, 14:40
Цитата Сообщение от KaffLime Посмотреть сообщение
Я знаю номер столбца, в котором идёт поиск.
 в sqlite3 надо явно указывать имя поля
Python
1
2
3
4
5
6
7
8
9
10
11
12
>>> import sqlite3 
>>> conn = sqlite3.connect('tst.db')
>>> cur = conn.cursor()
>>> cur.execute('select sql from sqlite_master')
<sqlite3.Cursor object at 0x108fa6490>
>>> cur.fetchall()
[('CREATE TABLE tbl(quest text,answ text)',)]
>>> cur.execute('pragma table_info("tbl")')
<sqlite3.Cursor object at 0x108fa6490>
>>> cur.fetchall()
[(0, 'quest', 'text', 0, None, 0), (1, 'answ', 'text', 0, None, 0)]
>>>
1
0 / 0 / 0
Регистрация: 05.05.2020
Сообщений: 227
05.11.2020, 19:21  [ТС]
mrkaban, я использую QTableView

Добавлено через 34 минуты
vic5710, если я использую следующее, то у меня обрабатывается 5 записей. У меня 5 столбцов. Получается обрабатывается каждый столбец целиком. А как мне прочесать каждый из этих столбцов?

Python
1
2
3
4
5
6
query = QtSql.QSqlQuery()
query.exec('pragma table_info("main_table")')
if query.isActive():
    query.first()
    while query.isValid():
        query.next()
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
05.11.2020, 20:14
Лучший ответ Сообщение было отмечено KaffLime как решение

Решение

там свой формат
http://python-3.ru/page/sqlite-metadata
1
0 / 0 / 0
Регистрация: 05.05.2020
Сообщений: 227
05.11.2020, 23:03  [ТС]
vic5710, огромное спасибо за ссыль, всё заработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2020, 23:03
Помогаю со студенческими работами здесь

Как правильно обратиться к элементу List по индексу? Или получить индекс для перебора в цикле?
извиняюсь за банальный вопрос ,но подскажите пожалуйста ,как полуить индекс элемента в листе. то есть его порядковый номер.

получить компонент объекта, зная лишь его родителя
Доброго времени суток. Либо я мыслю не в той плоскости, либо хочу чего-то нереального, но никак не могу прийти к решению... Например,...

Как получить индекс элемента (или его позицию или количество элементов до него) в set или multiset от lower_bound?
не работающий код((( #include&lt;bits/stdc++.h&gt; #define ff first #define ss second #define ll long long // #define int long...

Как обратиться к столбцу DataGridView по его имени
Каким образом можно заполнить столбец Column1 данными из comboBox5, обратившись к столбцу по имени? comboBox2.DataSource = new...

Циклы или как обратиться к столбцу в DBgrid
Не получается сделать цикл! table1.RecNo:=1; if (DBGrid1.Columns.FieldName&gt;dbgrid1.Columns.FieldName) then ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru