Название: Глобальные переменные Отправлено: vexar от Февраль 08, 2010, 09:45 Подскажите как сделать переменную глобальной?
Вот есть у меня фаил mysql.h Код: #ifndef MYSQL_H Этот фаил инклюдится в main.cpp Код: #include <QtGui> Код: void MainWindow::createStatusBar() Название: Re: Глобальные переменные Отправлено: Akaiten от Февраль 08, 2010, 09:59 В mysql.h написать (и соответственно убрать объявление db из connect_mysql()):
Код
а в main.cpp: Код
Название: Re: Глобальные переменные Отправлено: MoPDoBoPoT от Февраль 08, 2010, 11:38 В этом нет никакой необходимости, после установления соединения методом QSqlDatabase::addDatabase его можно "вытащить" (получить) через статический метод QSqlDatabase::database().
Название: Re: Глобальные переменные Отправлено: vexar от Февраль 08, 2010, 18:39 В этом нет никакой необходимости, после установления соединения методом QSqlDatabase::addDatabase его можно "вытащить" (получить) через статический метод QSqlDatabase::database(). А пример можно? А то я себе слабо представляю как это будет выглядеть. Название: Re: Глобальные переменные Отправлено: break от Февраль 08, 2010, 18:43 Цитировать А пример можно? А то я себе слабо представляю как это будет выглядеть. вам правильно сказали QSqlDatabase это Value-Based класс он не является сущностью (то есть это не класс самой БД в программе), а лишь переменная содержащая параметры этой самой БД, которая кешируется в недрах Qt. В большинстве случаев QSqlDatabase и вспоминать не надо (что очень удобно) - соединение по умолчанию для всех QSqlQuery и т.д. вернет нужную БД. По поводу примера - на этом форуме уже обсуждалось не раз, да и в справке хорошо написано!Название: Re: Глобальные переменные Отправлено: BRE от Февраль 08, 2010, 18:46 А пример можно? А то я себе слабо представляю как это будет выглядеть. В assistant все написано.Где нибудь открыли базу: Код
В любом другом месту: Код
При открытии можно именовать подключения и соответственно получать их по имени: QSqlDatabase QSqlDatabase::addDatabase ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) ) [static] QSqlDatabase QSqlDatabase::database ( const QString & connectionName = QLatin1String( defaultConnection ), bool open = true ) [static] Название: Re: Глобальные переменные Отправлено: break от Февраль 08, 2010, 18:50 Еще здесь http://www.prog.org.ru/index.php?topic=10014.msg61002#msg61002
Название: Re: Глобальные переменные Отправлено: vexar от Февраль 09, 2010, 02:09 Спасибо всем. Разобрался. Работает )
Название: Re: Глобальные переменные Отправлено: vexar от Февраль 10, 2010, 08:27 А как быть с QueryOnline.next() ?
Есть mainwindow из которого вызывается диалоговое окно, в котором предлагается ввести Login и Pass. Код: dialog.cpp Код: mainwindow.cpp Название: Re: Глобальные переменные Отправлено: break от Февраль 10, 2010, 12:07 Это уже отдельная тема не имеющая отношения к БД - организация передачи данных между окошками...
Можно передавать Query из окошка в окошко - но я бы сделал так чтобы в окне авторизации происходила вся работа, или окно авторизации возвращало ХЕШ или имя+пароль главному окну вкотором происходит проверка. А то получается у вас 1 логика будет растянута на 2 окна. В общем loginWindow пусть или отдает главному окну то что ввел пользователь или уже готовый результат правильно ли он ввел... |