Russian Qt Forum
Сентябрь 25, 2024, 08:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Active Record для Qt  (Прочитано 7084 раз)
NetWorm
Гость
« : Апрель 11, 2013, 21:13 »

Вот для php существует ActiveRecord http://www.code-igniter.ru/user_guide/database/active_record.html... Существует ли подобное для Qt???
Записан
quiet_readonly
Гость
« Ответ #1 : Апрель 13, 2013, 04:04 »

Qt или какие-то другие библиотеки здесь ни при чём. Что именно вызывает сложности в реализации такого на C++?
Записан
NetWorm
Гость
« Ответ #2 : Апрель 13, 2013, 07:41 »

Велосипед не хочется изобретать!!!
Записан
quiet_readonly
Гость
« Ответ #3 : Апрель 14, 2013, 05:25 »

http://habrahabr.ru/post/105191/

Но главной проблемой скорее всего станет невозможность обойти в цикле все члены класса и определить их имена (в коде) и типы. Это же C++. Qt даёт рефлексию для слотов/сигналов и Q_PROPERTY, но объявлять их - то ещё удовольствие.

Лично я такие проблемы решал с помощью библиотек clang, просто делал генератор кода, который в нужных классах обходил потомков, и на основе имени и типа (CXType) члена класса печатал что-либо в выходной файл. В принципе, clang также даёт средства для правки существующего файла с помощью серии замен текста.

В ORM для Qt используют boost::serialization, а где-то, кажется, тоже генерацию кода.
Записан
chewire
Гость
« Ответ #4 : Май 12, 2013, 02:49 »

Если интересно есть собственная реализация ORM на кьюте, без бустов, директив препроцессору и макросов Улыбающийся https://github.com/victorzhuk/eorm милости прошу
Записан
NetWorm
Гость
« Ответ #5 : Май 13, 2013, 06:07 »

Благодарю.. Посмотрю...
Я конечно уже написал свою библиотеку
Записан
thechicho
Гость
« Ответ #6 : Май 13, 2013, 13:41 »

если написал, выложи исходники и в тему добавь [РЕШЕНО]
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #7 : Май 13, 2013, 16:48 »

если написал, выложи исходники и в тему добавь [РЕШЕНО]
Вы представляете себе объем таблиц в большом проекте?
и под каждую таблицу писать собственный класс и оборачивать - замучаешся.
Может по этому ОРМ не особо популярен?
Я думаю тут самое место визуальным конструкторам и общим классам с параметризацией.
Больше визуальности! Меньше рукопашной Улыбающийся
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
thechicho
Гость
« Ответ #8 : Май 13, 2013, 18:04 »

//Вы представляете себе объем таблиц в большом проекте?
чо представляю? Улыбающийся

//Вот для php существует ActiveRecord http://www.code-igniter.ru/user_guide/database/active_record.html... Существует ли подобное для Qt???
исходники этого, реализованное тс средствами кьют.
таблицы и другие подробности проекта не нужны.

для чего? чтобы другим помочь избежать изобретения велосипеда, как тс выразился.
Записан
NetWorm
Гость
« Ответ #9 : Май 14, 2013, 05:20 »

Я сделал просто тупое переписывание php ActiveRecord на Qt.
Записан
thechicho
Гость
« Ответ #10 : Май 14, 2013, 10:31 »

какая разница как ты сделал, главное сделал.
а люди, которые попадут в эту тему сами решат подойдет твое решение или нет.
выложи код
Записан
NetWorm
Гость
« Ответ #11 : Май 14, 2013, 10:45 »

Выкладываю исходник... Он еще не допилин до конца.. Дописывается в процессе...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.125 секунд. Запросов: 23.