web-dev-qa-db-fra.com

Comment créer une base de données SQLite dans Qt

J'essaie de créer une base de données SQLite dans Qt. Voici mon code:

QDir databasePath;
QString path = databasePath.currentPath()+"myDb.db";
QSqlDatabase dbConnection = QSqlDatabase:addDatabase("QSQLITE");
db.setDatabaseName(path);
db.open();

Il n'y a aucune erreur lors de l'exécution du code, mais je ne trouve pas la base de données que j'ai créée dans le chemin que j'ai défini. Est-ce que cela crée réellement la base de données ou fait-il simplement une initialisation?

S'il ne crée pas la base de données, comment puis-je créer la base de données dans l'application elle-même? (Je ne parle pas d'insertion.)

14
user3009135

Vous devez également créer une requête qui créera une base de données non vide et utilisera le nom correct de la variable (dans votre code, vous utilisez dbConnection d'abord et ensuite - db. Par exemple:

QString path = "path";
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//not dbConnection
db.setDatabaseName(path);
db.open();
QSqlQuery query;
query.exec("create table person "
          "(id integer primary key, "
          "firstname varchar(20), "
          "lastname varchar(30), "
          "age integer)");
21
Chernobyl