Быстрое сохранение таблицы в базу данных |
Здравствуйте, гость ( Вход | Регистрация )
Быстрое сохранение таблицы в базу данных |
ruzik |
9.4.2011, 16:48
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Здравствуйте, а не подскажите как можно быстро сохранить таблицу в БД и быстро достать её, и возможно ли это?
|
|
|
maint |
9.4.2011, 17:12
Сообщение
#2
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
|
|
|
ruzik |
9.4.2011, 17:42
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Постараюсь поточнее, есть ли такая функция типа tableWiget->saveDataInDataBase которая сохраняет все данные таблицы в БД, что бы не создавать самому БД и вручную не переписывать.
|
|
|
vankleef |
9.4.2011, 19:09
Сообщение
#4
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
какую субд используешь?
|
|
|
ruzik |
9.4.2011, 19:43
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
SQLITE
|
|
|
vankleef |
9.4.2011, 19:49
Сообщение
#6
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
насколько я знаю, sqlite может существовать только в оперативной памяти.
можешь попробовать сделать свои функции: 1) сохраняет таблицу в файл 2) востанавливает из файла него обратно если не хочешь сильно морочиться - поставь mysql. удобная морда для него mysql workbench |
|
|
ruzik |
9.4.2011, 20:01
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
насколько я знаю, sqlite может существовать только в оперативной памяти. можешь попробовать сделать свои функции: 1) сохраняет таблицу в файл 2) востанавливает из файла него обратно если не хочешь сильно морочиться - поставь mysql. удобная морда для него mysql workbench Если БД хранится в оперативке тогда файла не должно создаваться, а он создается и сохраняется после того как из программы вышли а если простое MySql то для него думаю придется делать все те же действия, не могли бы вы дать пару примеров работы с MySql |
|
|
vankleef |
9.4.2011, 21:12
Сообщение
#8
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
я вас не понимаю... у вас уже что-то сохраняется и что-то создается?
сохранение: 1) таблицы хранятся в ОЗУ 2) делаем запрос SELECT * FROM имя_таблицы; и записываем результат в файл: каждая запись-отдельная строка, поля разделены пробелами чтение: 1) читаем данные из файла построчно 2) записываем в таблицу: каждое слово-есть следуюцее поле, каждая новая строка-новая запись ну это так, на скорую руку.. какие именно примеры нужны для работы с mysql? создать базу данных можно через mysql workbench, чтобы нагляднее/быстрее/проще создать/связать/обеспеить ссылочную целостность, даже er модели может, etc... запросы - не очень много синтаксиса. вопросы почетче желательнее) очень хорошая инструкция тут, всегда использую ее, если чтото забыл Сообщение отредактировал vankleef - 9.4.2011, 21:15 |
|
|
MoPDoBoPoT |
9.4.2011, 21:51
Сообщение
#9
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
насколько я знаю, sqlite может существовать только в оперативной памяти. Неверно. есть ли такая функция типа tableWiget->saveDataInDataBase которая сохраняет все данные таблицы в БД, что бы не создавать самому БД и вручную не переписывать. Прям такого готового решения нет. Файл базы данных SQLite создаётся при открытии соединения, если он ещё не существует. Таблицу, конечно, придётся создавать SQL запросом, а для работы с таблицей, думаю, подойдёт QSqlTableModel. |
|
|
ruzik |
10.4.2011, 16:41
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Я тоже сначала думал про QSqlTableModel, но там надо TableView а у меня TableWidget, можно создать свой класс и там переопределить метод setModel(он virtual), просто я в дизайнере установил очень много свойств, не знаете можно ли как бы апгрейдить существующий объект до другого класса(наследника класса объекта), или может проще присвоить?
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 4:12 |