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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Файлы, списки и прочее...  (Прочитано 13783 раз)
Namelles One
Гость
« Ответ #15 : Январь 21, 2006, 19:03 »

Эээ...
Что-то я выпал из нити повествования...
То есть в программе я жестко прописываю, что в БД должно ложиться, при компиляции это все зашивается в программу...
И при каждом запуске прога работает с БД...

А как же тогда с обновлениями?
Нутром чую, что идея хорошая, но догнать не могу...
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #16 : Январь 21, 2006, 19:59 »

Цитата: "Namelles One"
Эээ...
Что-то я выпал из нити повествования...
То есть в программе я жестко прописываю, что в БД должно ложиться, при компиляции это все зашивается в программу...
И при каждом запуске прога работает с БД...

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


Да нет же...
Когда ты пишешь прогу ты прям в коннекте пишешь  
Create table some_1(key,name_1,name_2) ...
Create table some_2(key,name_1,name_2) ...
Работаешь, пишешь в них, причём работаешь как с SQL серевером... для проги никакой разницы нет:
QSqlQuery qr;
qr.exec(INSERT INTO some_1(key,name_1,name_2) VALUES(1,"easy", "boy"));


Когда закрываешь прогу все данные у тебя в твоём файле базы.
И вот когда ты перезапускаешь прогу, функция коннекта не пересоздаёт таблицы в файле, если он уже существует на диске, т.е.
строки
Create table some_1(key,name_1,name_2) ...
Create table some_2(key,name_1,name_2) ...

просто пропускаються...
типа того, если по простому... Веселый

P.S.
Да и ещё когда будешь к MySQL коннектиться (откуда обновления брать будешь), прикинь ты в двух базах средствами самого SQL находишь разницу записей, и не достающие в цикле вставляешь в свою локальную sqlite... От тебя минимум усилий...
Записан
Namelles One
Гость
« Ответ #17 : Январь 21, 2006, 21:01 »

Ну в общем я примерно понял... Подмигивающий
Теперь надо тестить и втыкать - без вариантов... Подмигивающий
Спасибо.
Записан
nEoN
Гость
« Ответ #18 : Январь 23, 2006, 18:28 »

Цитата: "Namelles One"
А программа, действительно, это энциклопедия...
У нас в интернете существует сообщество любителей фэнтези, мы собрали довольно большую подборкуфантастичиских существ с картинками и описанием, а теперь меня попросили написать программу, чтобы эту подборку можно было бы распостранять...

Недавно мне встретился OpenSorce проект Tellico, по моему как раз то, что ты хочешь реализовать.

Цитировать
Tellico is a KDE application for organizing your collections. It provides default templates for books, bibliographies, videos, music, video games, coins, stamps, trading cards, comic books, and wines.

Он правда под KDE, но может быть и в чистом Qt собирается.
Как минимум можно посмотреть как оно устроено.
Данные хранит в XML.

Главная страница: http://www.periapsis.org/tellico/
Скриншоты: http://www.periapsis.org/tellico/sshots.php
Записан
Namelles One
Гость
« Ответ #19 : Январь 23, 2006, 21:35 »

Спасибо, заценим...
А насчет данных - я седня с БД разбирался, великолепно все работает...
ИМХО, так действительно удобнее будет...
Записан
Namelles One
Гость
« Ответ #20 : Январь 30, 2006, 20:57 »

Хм...
Сделал бета сборку программы, собрал в инсталлятор вроде бы все dll, к которым прога тянулась (посмотрел через PeID) и переслал другу...

А у него - не запускается БД, говорит - нету её...
Но как же так, я же dll для SqLite положил... Грустный
А, в чем баг-то ?
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #21 : Январь 30, 2006, 22:07 »

Цитата: "Namelles One"
Хм...
Сделал бета сборку программы, собрал в инсталлятор вроде бы все dll, к которым прога тянулась (посмотрел через PeID) и переслал другу...

А у него - не запускается БД, говорит - нету её...
Но как же так, я же dll для SqLite положил... Грустный
А, в чем баг-то ?


как клал?
В папке с экзешником должна быть папка sqldrivers\( а в ней должна лежать Qsqlite.dll) и не забыл Qtsql.dll?
Записан
Namelles One
Гость
« Ответ #22 : Январь 31, 2006, 17:07 »

Блин...
Все вложил верно, но Qsqlite.dll кладется не в sqldrivers\ , а корень папки с программой...
Может ли это быть причиной?
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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