Russian Qt Forum

Qt => Базы данных => Тема начата: arTik от Апрель 28, 2005, 10:10



Название: Соединение с Базой один раз
Отправлено: arTik от Апрель 28, 2005, 10:10
Всем приветик... Я начинающий, помогите пожалуйста с одним вопросом.

У меня есть приложение, в котором хочу соединиться с БД sqlite только один раз, т.е. при загрузке программы открывать соединение и закрывать его только при выходе из программы. Все остальное время мне нужно, чтобы коннект с базой был, т.к. в разных окнах и т.п. используется обращение к базе... Не подскажите как мне это сделать ? Как во всех окнах использовать один и тот же коннект....

Заранее Благодарен.


Название: Соединение с Базой один раз
Отправлено: BaltikS от Апрель 28, 2005, 11:30
Это сделать очень просто! Даже кажется в хелпе написано... :lol:
Пишешь, например в maine или в конструкторе главной форме...

QSqlDatabase *mybase = QSqlDatabase::addDatabase("QODBC3","MyLocalConnection");
mybase->setDatabaseName("MyDB"); // имя БД
....
....
и всё... далее в программе, для вызова создаёшь курсор...
mycursor = new QSqlCursor(QSqlDatabase::database("MyLocalConnection", TRUE));   // в итоге MyLocalConnection можешь использовать во всей программе не объявляя при этом никаких дополнительных ссылок! И при завершении программы необязательно разрывать коннект. Qt это сделает автоматически  :wink:
Посмотри примеры из examplesa к Qt


Название: Соединение с Базой один раз
Отправлено: arTik от Апрель 28, 2005, 12:39
Спасибо за идею с курсорами...... но что-то именно то, что Вы написали у меня не заработало, а в example-е я не нашел такое :(


Название: Соединение с Базой один раз
Отправлено: arTik от Апрель 28, 2005, 12:56
Если можно приведите пожалуйста пример :(


Название: Соединение с Базой один раз
Отправлено: BaltikS от Апрель 28, 2005, 13:30
Работает - 100% Посмотри, папку демо...в разделе database или sql  не помню :shock:


Название: Соединение с Базой один раз
Отправлено: arTik от Апрель 28, 2005, 15:57
Извините конечно меня :( Но у меня под Windows, нет такого ... :(

Есть папка SQL\overview и там идут:

basicbrowsing
basicbrowsing2
basicdatamanip
connect1
create_connections
custom1
delete
extract
form1
form2
insert
insert2
navigating
order1
order2
retrieve1
retrieve2
subclass1
subclass2
subclass3
subclass4
subclass5
table1
table2
table3
table4
update

И в этих папках я не нашел ничего похожего на то, что мне нужно :(
Может подскажите где искать, или приведите пример пожалуйста :(

Заранее Огромное СПАСИБО :)


Название: Соединение с Базой один раз
Отправлено: BaltikS от Апрель 29, 2005, 09:15
Посмотри, где то там точно есть...   http://doc.trolltech.com/3.3/demo-example.html


Название: Соединение с Базой один раз
Отправлено: arTik от Апрель 29, 2005, 12:28
Все нашел... срасибо :)