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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Базы данных для программы  (Прочитано 4554 раз)
MAGrikh
Гость
« : Май 05, 2009, 11:47 »

я очень далек от программирования Баз данных, а потому никак не могу сообразить.

Мне нужно использовать в своей программке на QT несколько связанных таблиц. Редактировать их из программы необходимости нет, но в теории возможность ручками подправить должна быть (заполнить я их хочу в ручную).
Программа должна будет постоянно запрашивать данные из них, делать выборки, находить значения в зависимости от того что нужно получить.

Во всех примерах есть КАК РАБОТАТЬ С БАЗАМИ ДАННЫХ, но нигде не могу найти КАК ИХ СОЗДАТЬ.
Важный момент - необходима БД поддерживаемая силами QT, т.е. SQL сервер на машине где будет работать программка стоять НЕ БУДЕТ...
Что лучше использовать в этом случае?!
Записан
spirit
Гость
« Ответ #1 : Май 05, 2009, 11:50 »

SQLite можно. база создатся автоматически при ее открытии (если она не была создана).
« Последнее редактирование: Май 05, 2009, 11:55 от spirit » Записан
MAGrikh
Гость
« Ответ #2 : Май 05, 2009, 11:58 »

А как бы мне создать самому эти базы и заполнить их?!

Записан
ритт
Гость
« Ответ #3 : Май 05, 2009, 11:59 »

http://sql.ru/ ))
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Май 05, 2009, 12:13 »

>>А как бы мне создать самому эти базы и заполнить их?!
Скачай программу SQLite Database Browser, она предназначена для SQLite.
Можно создавать/редактировать БД.

Ещё один вариант: запусти демку %QTDIR%/demo/sqlbrowser
При запуске выбери драйвер QSQLITE и введи полное имя (вместе с путём) к БД (где ты хочешь ее создать) и нажми "Ок"
создастся БД, ну а дальше с помощью SQL выражений создай таблицы, например:
Код
SQL
CREATE TABLE MYTABLE(
 id Integer,
 firstField Text,
 secindField Text
);
строки в таблицу можно будет добавлять уже интеракивно, через контекстное меню таблицы.
« Последнее редактирование: Май 05, 2009, 12:21 от lit-uriy » Записан

Юра.
MAGrikh
Гость
« Ответ #5 : Май 05, 2009, 12:24 »

ООО похоже то что нужно.
СПАСИБО!!!
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #6 : Май 05, 2009, 13:22 »

свой кусочек приведу

Код
C++ (Qt)
   //check tables
   QStringList tables = m_sqlDB.tables();
 
   //check url tables
   if(!tables.contains("urls",Qt::CaseInsensitive))
   {
       qDebug() << "CREATE TABLE urls";
   QSqlQuery q;
       //id - unique
       //site - urls site
       //date_add - date add site
       //comments - add comments for site
       if(!q.exec("CREATE TABLE urls(id integer primary key AUTOINCREMENT, site text, date_add integer)"))
       {
           qDebug() << "CREATE TABLE urls ERROR" << q.lastError() ;
       }
   }
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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