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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с БД  (Прочитано 3214 раз)
And_Y
Гость
« : Июнь 13, 2013, 09:14 »

Подскажите, пожалуйста. Уже совсем запутался.
Я организовал подключение к БД через специальный объект и потом это подключение ссылку раздаю всем другим объектам. Но зачастую просто непонятно как передать эту ссылку и как то не очень удобно получается явно везде ее пересылать.
Я новичок в QT, да и на C++ очень давно писал. ООП вспоминаю на рабочем проекте.

Что я делаю не так? Может есть какие то более простые решения? Например соединение по умолчанию для всего приложения, чтобы не передавать его всем и каждому, а то мне даже в сигналах приходится его пихать.

Заранее спасибо.
Записан
Bepec
Гость
« Ответ #1 : Июнь 13, 2013, 09:46 »

Есть такое понятие - синглтон.

Это глобальный класс, который как раз и содержит необходимые объекты, к которым может обратиться любой другой класс. И да, исходя из названия он должен быть один в программе Подмигивающий
Записан
And_Y
Гость
« Ответ #2 : Июнь 13, 2013, 10:19 »

А какого то стандартного алгоритма реализации работы с СУБД не существует? :-)
Посмотрел на синглтоны... Даже не знаю, можно попробовать конечно, но тоже придется ссылкой тыкать везде на него?
Записан
mutineer
Гость
« Ответ #3 : Июнь 13, 2013, 10:19 »

А какого то стандартного алгоритма реализации работы с СУБД не существует? :-)
Посмотрел на синглтоны... Даже не знаю, можно попробовать конечно, но тоже придется ссылкой тыкать везде на него?


Какой еще ссылкой?
Записан
Bepec
Гость
« Ответ #4 : Июнь 13, 2013, 10:37 »

Вы в любом случае будете тыкать ссылкой. Даже если в каждом классе будете создавать свой коннект к БД.  Вас это смущает, или это опять из теории "надо перехватывать нажатия, не перехватывая нажатия" © ?
Записан
And_Y
Гость
« Ответ #5 : Июнь 17, 2013, 08:35 »

А можно вообще пример как мне строить работу объектов и программы в целом?
Т.е. мне нужно создать объект, который устанавливает соединение с базой и потом все пользуются этим соединением, или он должен выполнять запросы, которые передаются ему от других объектов?
Записан
Serr500
Гость
« Ответ #6 : Июнь 17, 2013, 08:59 »

Синглтон Майерса, например. Первое обращение вызовет инициализацию объекта, во все cpp-файлы включаете хидер файла класса синглтона и получаете указатель на объект через метод instance().
Записан
And_Y
Гость
« Ответ #7 : Июнь 17, 2013, 09:29 »

Спасибо. Пошел пробовать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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