![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Пролистав пару книг по питону у меня сложилось впечатление,
что с базами данных его удобно использовать только если писать для www, а вот создать для баз данных красивое GUI приложение под windows или linux будет нетривиальной задачей (хотел показывать через wxPython). Надо будет вручную раскладывать информацию, получаемую из базы, в визуальные компоненты... Существуют ли какие-нибудь компоненты позволяющие быстро создавать пользовательский интерфейс для работы с sql базами данных? В первую очередь интересует MySQL. Хочется систему компонентов аналогичную имеющейся в Borland Delphi и C++ Builder. Есть что-нибудь близкое или как вообще решают такую задачу? |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
Это можно: SQLObject+wxPython
|
|||
|
||||
J2A |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 17.11.2005 Где: Омск Репутация: 16 Всего: 18 |
Напр. в PyQt3 есть модуль qtsql. Насчет PyQt4 не в курсе.
--------------------
Be easy, stay cool |
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Если правильно понял, то полученные данные сами собой на экране не будут обновлятся. Так? |
|||
|
||||
slav0nic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.5.2006 Репутация: 4 Всего: 5 |
Дмитрий Т, в каком плане? как напишете так и будет работать)
идите дочитывайте книги %) --------------------
python.com.ua |
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Если бы вы попробовали Borland Delphi или их C++ Builder для работы с MySQL, Oracle, firebird и т.п., то сразу бы поняли о чём речь ![]() Чтоб заработал не сложный, но и не совсем бестолковый пример в них достаточно написать SQL и больше никакого программирования! Притом без потерь качества, просто за счёт проработанной системы компонентов ориентированных на БД. Но мне хочется более удобной кросплатформенности, а их kylix это что-то... |
|||
|
||||
J2A |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 17.11.2005 Где: Омск Репутация: 16 Всего: 18 |
Дмитрий Т, в wx такого нет. В Qt есть. Если не привязан к wx, делай на Qt; если привязан -- таки да, в ручную.
--------------------
Be easy, stay cool |
|||
|
||||
diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 3 Всего: 16 |
Гхм... Работа с СУБД никак не связана с интерфейсом, будь то GUI или нечто, рисующее веб-морду.
Если нужен пример работы с какой-либо БД, можно посмотреть на pyPgSQL, имплементирующая DB API2.0 для PostgreSQL (потому как недавно с ней работал ![]() Вот пример работы:
|
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Э-э, дружище не скажите... Разница не малая между "GUI или нечто, рисующее веб-морду". Вам нужно увидеть программу-картотеку, допустим книг, с базой на миллион записей... GUI таблица (сетка), к примеру, должна позволять перемещаться по базе, сортировать и редактировать, но при этом не загружать весь миллион в память. И это не единственная особенность. |
|||
|
||||
diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 3 Всего: 16 |
Работа с СУБД заключается в следующем:
1. Построение запроса. 2. Выполнение запроса. 3(опционально). Получение результатов запроса. Выполнение этих трёх процедур специфично для разных задач, и это естественно.
Поэтому то, о чём Вы говорите, является спецификой работы приложения с БД. Вы можете испечь удобный для специфичной задачи API, и пользоваться им. И это будет правильно. Для GUI будет свой API, для web-морды - свой, для скриптов, обслуживающих распределённую СУБД,- свой, и т.д. Приложение-приложению рознь (с точки зрения удобства работы с БД). Именно поэтому, работа с СУБД зависит не от GUI/не GUI, а от задачи. Добавлено @ 07:56 Я предпочитаю использовать интерфейсы, основанные в свою очередь на интерфейсах, имплементирующих Python Database API Specification v2.0. А уж как "укутать" эти интерфейсы в удобную для задачи API - третье дело ![]() |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
предлагаю использовать - SQLObject+wxPython. при этом не придется писать код подобный
. Аналог
надеюсь раздница чувствуется ![]() |
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Не спорю, как раз и хотел узнать, а есть ли наработки в питоне на мою специфику. Насколько понял - только в qt, но меня отталкивает их политика с лицензиями. |
|||
|
||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Мне бы хотелось увидеть пример подключения к базе Syabse ASA 5.0.5 или ASE 12.0 и выборки данных
через ODBC пожалуста напишите пример плиз |
|||
|
||||
diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 3 Всего: 16 |
pythonwin, тогда разберём несколько примеров, что бы сразу же всё было ясно ![]() ![]() Примеры сильно утрирую. Дабы было понятнее. В реальной жизни структура несколько сложнее ![]() Пример 1. Есть три таблицы.
Если что-то непонятно в структуре таблиц (в логике), спрашивайте, объясню. Задача. Предоставить информацию в виде таблицы (наименование валюты, курс) на момент времени t1 ('01.04.2006 02:30:00'), отсортированную по наименованию валюты, при этом выбирать только ту валюту, операции с которой на момент времени t1 были разрешены. Прошу предоставить решение, использующее: Своё решение покажу позже. Это сообщение отредактировал(а) diam - 29.6.2006, 22:10 |
|||
|
||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Хотелось бы решение
![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |