Russian Qt Forum

Qt => Базы данных => Тема начата: medhaid от Май 08, 2011, 10:23



Название: SQLite (создание, открытие, сахранение)
Отправлено: medhaid от Май 08, 2011, 10:23
Здраствуйте, (заранее извеняюсь за не оч умный вопрос)

нужно реализовать функции
//Создать новый файл БД
//Открыть файл БД
//Сахранить файл БД
//Сахранить как файл БД

Я плохо понимаю как организована работа с БД SQLite...
Из функций есть только функция Open, сахраняет он автаматом при закрытии(неужель при открытии делать копию чтобы можно было откатывать?).. создаёт тож автоматически если нет файла который нужно открыть(при нажатии "создать" прийдёться делать проверку на наличие файла типо? а создание делать путём Клонирования готового шаблона?)...


вобшем прозьба пояснить эти вопросы....


Название: Re: SQLite (создание, открытие, сахранение)
Отправлено: Mikhail от Май 08, 2011, 12:44
вобшем прозьба пояснить работу с какими БД вы понимаете хорошо?


Название: Re: SQLite (создание, открытие, сахранение)
Отправлено: medhaid от Май 08, 2011, 12:48
да sql знаю неплохо....
проблема как сделать ........ с помошью функций библиотеки QSql.


Название: Re: SQLite (создание, открытие, сахранение)
Отправлено: ieroglif от Май 08, 2011, 14:06
как примитивно работать с базой:
Код
C++ (Qt)
   QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
   db.setDatabaseName("path_to_db_file");
 
   if ( !db.open() )
   {
       QString message = db.lastError().text();
       QMessageBox::information(0,"DB error",message);
   }
   QSqlTableModel * someSqlTableobject = new QSqlTableModel();
   someSqlTableobject ->setTable("table_name_in_database");
   QModelView someView;
   someView.setModel(someSqlTableobject)
   someSqlTableobject->select();
 
ну и не забудем потом всё поудалять и позакрывать
как создавать, клонировать, сохранять - это всё в ассистант QSqlDatabase