crossplatform.ru

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

> Быстрое сохранение таблицы в базу данных
ruzik
  опции профиля:
сообщение 9.4.2011, 16:48
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Здравствуйте, а не подскажите как можно быстро сохранить таблицу в БД и быстро достать её, и возможно ли это?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 9)
maint
  опции профиля:
сообщение 9.4.2011, 17:12
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(ruzik @ 9.4.2011, 22:48) *
Здравствуйте, а не подскажите как можно быстро сохранить таблицу в БД и быстро достать её, и возможно ли это?

совершенно не внятный вопрос. Уточнить надо бы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(vankleef @ 9.4.2011, 20:49) *
насколько я знаю, 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  


Цитата(vankleef @ 9.4.2011, 20:49) *
насколько я знаю, sqlite может существовать только в оперативной памяти.

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

Прям такого готового решения нет. Файл базы данных SQLite создаётся при открытии соединения, если он ещё не существует. Таблицу, конечно, придётся создавать SQL запросом, а для работы с таблицей, думаю, подойдёт QSqlTableModel.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 10.4.2011, 16:41
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Я тоже сначала думал про QSqlTableModel, но там надо TableView а у меня TableWidget, можно создать свой класс и там переопределить метод setModel(он virtual), просто я в дизайнере установил очень много свойств, не знаете можно ли как бы апгрейдить существующий объект до другого класса(наследника класса объекта), или может проще присвоить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 3:24