如何在Qt中创建SQLite数据库
How to create a SQLite database in Qt
我正在尝试在Qt中创建一个SQLite数据库。这是我的代码:
QDir databasePath;
QString path = databasePath.currentPath()+"myDb.db";
QSqlDatabase dbConnection = QSqlDatabase:addDatabase("QSQLITE");
db.setDatabaseName(path);
db.open();
运行代码时没有错误,但我在定义的路径中找不到我创建的数据库。这实际上是创建数据库还是只是执行一些初始化?
如果它不创建数据库,那么如何在应用程序本身中创建数据库?(我不是在谈论插入。
您还应该创建查询,该查询将创建不为空的数据库并使用正确的变量名称(在您的代码中,您首先使用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)");
他的错误是,
QDir databasePath;
QString path = databasePath.currentPath()+"/myDb.db"; // Not "myDb.db"
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(path);
db.open();
QSqlQuery query; // And he should insert some data, as the answer above mentioned
query.exec("create table person "
"(id integer primary key, "
"firstname varchar(20), "
"lastname varchar(30), "
"age integer)");
并且数据库文件myDb.db
是在build
目录中创建的,而不是在他的source
代码目录中创建的。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 使用std::multimap迭代器创建std::list
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 使用CMake创建QML插件
- 如何在c++中为模板函数实例创建快捷方式
- 查询SQLite数据库中的日期
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- Qt SQlite无法创建表
- 如何使用SQLite在qt中创建表?
- SqLite c++,可以创建数据库,但不能将 anthing 插入到表中
- 无法在C++中创建SQLite表(android)
- 在C++中创建 Sqlite 数据库
- 如何在内存数据库中创建多个SQLite
- 如何在Qt SQLite中创建多个连接
- 无法执行 sqlite SQL 文件来创建数据库
- 如何在Qt中创建SQLite数据库
- 为什么我不能在SQLite中的VIEW上创建触发器
- SQLite在QT创建查询
- 在Qt (c++)中创建SQLite数据库