3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
|
||||||
1 | ||||||
PyQT5. Работа с базой данных20.08.2016, 05:41. Показов 44060. Ответов 32
Здравствуйте. Изучаю базы данных, а заодно и PyQt.
При помощи QSqlQueryModel или QSqlTableModel и QTableView отобразил нужные данные в приложении. Как осуществить добавление и удаление данных? Как сделать столбец, поля которого можно редактировать только выбирая доступные варианты. Как отредактировать, добавить, удалить данные из сетки полученной подобным запросом:
Сложновато изучать PyQt5 - Документация на англ. и на с++ )
0
|
20.08.2016, 05:41 | |
Ответы с готовыми решениями:
32
Работа с базой данных Работа с базой данных Работа с базой данных в python VK bot работа с базой данных Python работа с базой данных |
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
20.08.2016, 11:50 | 2 |
Что-то у тебя тысяча и один вопрос сразу задан. Тебе непонятно какой sql запрос составить или как gui сделать?
0
|
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
|
||||||
20.08.2016, 13:08 [ТС] | 3 | |||||
alex925,
Как сделать GUI. В приложении есть результат запроса, как сделать его редактирование, добавление и удаление. Кликните здесь для просмотра всего текста
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
20.08.2016, 14:03 | 4 |
I.G.O.R, у меня есть похожее приложение, которое умеет делать все, что ты описал (ну только редактирования текущих данных там не предусмотренно). Можешь его посмотреть, разобраться.
3
|
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
|
|
20.08.2016, 22:48 [ТС] | 5 |
Если кто то покажет как в PyQt сделать удаление, редактирование и добавление к примеру выше, буду очень вам благодарен.
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
21.08.2016, 02:42 | 6 |
I.G.O.R, с моим примером не разобрался чтоль?
Вообще твой вопрос подразумевает не подсказать, а сделать все от начала и до конца.
0
|
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
|
|
21.08.2016, 02:52 [ТС] | 7 |
Нет не разобрался. В общем принял решение досконально изучать QT5, читаю кусками
Кликните здесь для просмотра всего текста
Шлее М. - Qt 5.3. Профессиональное программирование на C++ - 2015 и др. литературу
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
21.08.2016, 03:14 | 8 |
А там все, что тебе надо есть.
Мде, суровый ты.... По сишным книгам учить то....
0
|
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
|
|
21.08.2016, 03:21 [ТС] | 9 |
Других увы нет, хотя есть одна, но покупать надо.
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
21.08.2016, 03:22 | 10 |
0
|
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
|
|
21.08.2016, 03:32 [ТС] | 11 |
Маловато информации, БД не рассмотрены, и немного другая PyQt используется.
Кликните здесь для просмотра всего текста
Python 3 и PyQt. Разработка приложений Часть II. Создание оконных приложений Глава 19. Знакомство с PyQt Глава 20. Управление окном приложения Глава 21. Обработка сигналов и событий Глава 22. Размещение нескольких компонентов в окне Глава 23. Основные компоненты Глава 24. Списки и таблицы Глава 25. Работа с графикой Глава 26. Графическая сцена Глава 27. Диалоговые окна Глава 28. Создание SDI- и MDI-приложений
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
21.08.2016, 12:46 | 12 |
Разница 4 и 5 версии практически только в импортах, потому что в 5 версии сделали большую реструктуризацию, а остальном все то же самое. По этому проще и лучше читать книгу Прохоренка, а импорты без проблем подсмотришь где нибудь.
Что касается базы, так тут pyqt не предоставляет ничего сильно особенного, просто дает из коробки драйверы для некоторых баз и все. Если ты изучаешь sql, тебе его учить надо, а не pyqt. Pyqt это фреемворк для создания гуёвых приложений и все. Если ты думаешь, что выучишь api драйвера базы от pyqt и дальше ничего учить не надо будет, то ты сильно ошибаешься, потому что во 1 pyqt есть не везде (в каком нибудь web проекте его не будет 100%), во 2 наверняка попадется база к которой не будет коннектора у pyqt и т д. В общем пытаться привязаться к какому-то инструменту для работы с бд это очень глупое занятие.
0
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 2
|
||||||
24.10.2016, 10:59 | 13 | |||||
Решил не создавать отдельную тему. Также как и автор ветки изучаю PyQt5 и SQLite. Вопрос следующего порядка. Как применительно к PyQt5, а если быть точнее к объекту QSqlDatabase реализовать такое:
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
24.10.2016, 18:23 | 14 |
Я бы лучше не привязывался к драйверам qt. Работа с БД может быть не частью гуя, а так ты себе очень неслабую зависимость сделаешь.
0
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 2
|
|
25.10.2016, 04:17 | 15 |
Можешь привести пример как не привязываясь к драйверам qt вывести данные из базы в QTableView. Ну или ссылку где подобный материал почитать. Заранее спасибо.
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
25.10.2016, 11:13 | 16 |
icecruiser, Просто используешь драйвер не от qt и все. У меня есть пример, но там orm используется. Если надо выложу.
0
|
20 / 15 / 7
Регистрация: 03.10.2014
Сообщений: 94
|
||||||||||||||||
17.12.2016, 23:24 | 17 | |||||||||||||||
Редактирование данных в ячейках:
0
|
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 6
|
|
16.05.2017, 18:48 | 18 |
alex925, добрый день, что то у меня не получается подключить питон к базе вашей, при выполнении main.py и нажатии на любую кнопку (любую таблицу) из вашего примера выдаёт кучу ошибок, но я так понял всё связано с этим:
Кликните здесь для просмотра всего текста
sqlalchemy.exc.InterfaceError: (mysql.connector.errors.InterfaceError) 2003: Can't connect to MySQL server on '127.0.0.1:3306' (10061 Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение)
может настройки нужны какие то? посмотрел файл settings.py с настройками для бд, погуглил, поменял localhost на 127.0.0.1 но не помогло не подскажете, что может быть не так? Добавлено через 16 минут установил mysql, теперь на порт не ругается, но требует пароль: Кликните здесь для просмотра всего текста
sqlalchemy.exc.ProgrammingError: (mysql.connector.errors.ProgrammingError) 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
а какой пароль нужен то? с файла settings.py он его не подтягивает походу, или что? Добавлено через 11 минут тааак, с паролем разобрались в файле settings.py получилось вот такое Кликните здесь для просмотра всего текста
DATABASE_URL = 'mysql+mysqlconnector://root:1234@127.0.0.1/database_editor?charset=utf8'
при запуске пишет Кликните здесь для просмотра всего текста
sqlalchemy.exc.ProgrammingError: (mysql.connector.errors.ProgrammingError) 1049 (42000): Unknown database 'database_editor'
если меняю на название базы - всё равно не находит её
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
16.05.2017, 19:24 | 19 |
Чаще всего в этом виноват браудмаузер или ты просто указан неправильный ip и порт к базе.
Который ты задал при установке бд и логин нужно вводить, который ты задал при устаноке. Ну я создал бд и назвал ее database_editor. Тебе надо создать свою базу и заменить database_editor на свое название. Создание происходит в консоли бд. С python это не связано. Читай в сети как создать базу (это делается с помощью sql запроса).
1
|
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 6
|
|
16.05.2017, 19:48 | 20 |
благодарю, а если я вашу хочу использовать? всё равно нужно создавать?
сейчас изучу как создать. Добавлено через 11 минут просто в примере вашем есть база "database.sqlite", думал может её можно просто куда то скопировать или подключить и использовать, меня бы устроило
0
|
16.05.2017, 19:48 | |
16.05.2017, 19:48 | |
Помогаю со студенческими работами здесь
20
Используя функции категории Работа с базой данных в excel 2010, реализовать запрос к базе данных PHP и работа с базой данных (замена данных) Работа с базой данных Работа с базой данных Работа с базой данных в QT Работа с базой данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |