crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Быстрое сохранение таблицы в базу данных
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ruzik Дата 10.4.2011, 18:20
  Так в этом и есть главная загвоздка, я в дизайнере очень много значений и тп изменил, и если ставить QTableView они все сбросятся
MoPDoBoPoT Дата 10.4.2011, 17:42
 
Цитата(ruzik @ 10.4.2011, 17:41) *
не знаете можно ли как бы апгрейдить существующий объект до другого класса(наследника класса объекта)

Можно. Кидаете "базовый" компонент на форму (QTableView), нажимаете на нём правой кнопкой мыши, выбираете "Promote to...", в диалоге указываете свой класс-наследник QTableView.
ruzik Дата 10.4.2011, 16:41
  Я тоже сначала думал про QSqlTableModel, но там надо TableView а у меня TableWidget, можно создать свой класс и там переопределить метод setModel(он virtual), просто я в дизайнере установил очень много свойств, не знаете можно ли как бы апгрейдить существующий объект до другого класса(наследника класса объекта), или может проще присвоить?
MoPDoBoPoT Дата 9.4.2011, 21:51
 
Цитата(vankleef @ 9.4.2011, 20:49) *
насколько я знаю, sqlite может существовать только в оперативной памяти.

Неверно.
Цитата(ruzik @ 9.4.2011, 18:42) *
есть ли такая функция типа tableWiget->saveDataInDataBase которая сохраняет все данные таблицы в БД, что бы не создавать самому БД и вручную не переписывать.

Прям такого готового решения нет. Файл базы данных SQLite создаётся при открытии соединения, если он ещё не существует. Таблицу, конечно, придётся создавать SQL запросом, а для работы с таблицей, думаю, подойдёт QSqlTableModel.
vankleef Дата 9.4.2011, 21:12
  я вас не понимаю... у вас уже что-то сохраняется и что-то создается?
сохранение:
1) таблицы хранятся в ОЗУ
2) делаем запрос SELECT * FROM имя_таблицы; и записываем результат в файл: каждая запись-отдельная строка, поля разделены пробелами

чтение:
1) читаем данные из файла построчно
2) записываем в таблицу: каждое слово-есть следуюцее поле, каждая новая строка-новая запись

ну это так, на скорую руку..

какие именно примеры нужны для работы с mysql?
создать базу данных можно через mysql workbench, чтобы нагляднее/быстрее/проще создать/связать/обеспеить ссылочную целостность, даже er модели может, etc...
запросы - не очень много синтаксиса.

вопросы почетче желательнее)

очень хорошая инструкция тут, всегда использую ее, если чтото забыл
ruzik Дата 9.4.2011, 20:01
 
Цитата(vankleef @ 9.4.2011, 20:49) *
насколько я знаю, sqlite может существовать только в оперативной памяти.
можешь попробовать сделать свои функции:
1) сохраняет таблицу в файл
2) востанавливает из файла него обратно

если не хочешь сильно морочиться - поставь mysql. удобная морда для него mysql workbench

Если БД хранится в оперативке тогда файла не должно создаваться, а он создается и сохраняется после того как из программы вышли а если простое MySql то для него думаю придется делать все те же действия, не могли бы вы дать пару примеров работы с MySql
vankleef Дата 9.4.2011, 19:49
  насколько я знаю, sqlite может существовать только в оперативной памяти.
можешь попробовать сделать свои функции:
1) сохраняет таблицу в файл
2) востанавливает из файла него обратно

если не хочешь сильно морочиться - поставь mysql. удобная морда для него mysql workbench
ruzik Дата 9.4.2011, 19:43
  SQLITE
vankleef Дата 9.4.2011, 19:09
  какую субд используешь?
ruzik Дата 9.4.2011, 17:42
  Постараюсь поточнее, есть ли такая функция типа tableWiget->saveDataInDataBase которая сохраняет все данные таблицы в БД, что бы не создавать самому БД и вручную не переписывать.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 22:36