| 
					 Название: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 08:33 В примерах описывается вставка данных в таблицу, делаю как написано. Но при запуске приложения вновь, данные остаются без изменений. Почему так? Или примеры демонстрируют только работу команд-запросов и все происходит в оперативной памяти, а на диск писать это другая история? 
					Заранее спасибо. Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 08:53 Да и сама таблица физически не создается. Вставка данных, это так, тестовые действия. Думаю оба вопроса из одной области. 
					Код: void MainWindow::createTable(QString tableName) По идее метод должен создавать таблицу, и вроде создает (не выдает сообщение "Unable to create a table"). Закоменченные строки содержат название таблицы (жестко) для проверки работы запроса вставки. В любом случа, на диск не пишется ни то, ни другое. Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: LisandreL от Января 15, 2013, 10:33 Ну самый очевидный вариант - начинаете транзакцию и не заканчиваете. 
					Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 11:07 Ну самый очевидный вариант - начинаете транзакцию и не заканчиваете. т. е. в sqlite есть  средства для сохранения данных на диске? Ну, в смысле,  мне не надо привлекать классы для работы с файлами, чтобы сохранять данные на диске?Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Bepec от Января 15, 2013, 12:00 sqlite как бы и работает с файлом базы данных. Да, тебе не нужно работать с файлом. За тебя это будет делать QSqlDatabase. Тебе же нужно лишь завершать транзакции, если ты их открываешь, и просто выполнять запросы. 
					Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Serr500 от Января 15, 2013, 20:58 Код:     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 21:48 У меня вместо имени БД (параметр) стоит такая фигня: 
					Код: db.setDatabaseName(":memory:");Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 21:57 Создал такой файл, положил параметром вместо ":memory:" добавил db.close(); в конце  и... ничего не изменилось. В файл ничего не пишется как и раньше. 
					Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 22:15 Вот так сделал: 
					Код: QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Senia_Bezrubashkin от Января 15, 2013, 22:22 О! Наврал... что-то происходит... при запуске в очередной раз обнаружились данные на диске. Оказывается создавать ничего не надо было. Файл с таким именем нарисовывается сам (просто в другой директории)! 
					Название: Re: Не сохраняются изменения в ячейках таблиц (БД sqlite) Отправлено: Serr500 от Января 16, 2013, 08:30 Чтобы файл был в нужной директории, можно сделать так: 
					Код: db.setDatabaseName("C:/Some_Folder/ddd.sqlite"); |