我正在尝试在Qt中创建一个SQLite数据库。这是我的代码:
QDir databasePath;
QString path = databasePath.currentPath()+"myDb.db";
QSqlDatabase dbConnection = QSqlDatabase:addDatabase("QSQLITE");
db.setDatabaseName(path);
db.open();
运行代码时没有错误,但我找不到我在我定义的路径中创建的数据库。 这实际上是创建数据库还是仅进行初始化?
如果它没有创建数据库,那么如何在应用程序本身中创建数据库? (我不是在谈论插入。)
答案 0 :(得分:16)
您还应创建一个查询,该查询将创建非空数据库并使用正确的变量名称(在您的代码中首先使用dbConnection
,然后使用db
。例如:
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)");