qt引入sqlite
时间: 2023-09-10 10:14:08 浏览: 63
在QT中引入SQLite数据库需要进行以下步骤:
1. 在.pro工程文件中引入SQL模块,可以通过添加一行QT += sql来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [QT中使用sqlite3数据库](https://blog.csdn.net/m0_72647108/article/details/127055635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
qt操作sqlite
SQLite是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。Qt5以上版本可以直接使用SQLite(Qt自带驱动)。在Qt中操作SQLite需要引入SQL模块,在Qt项目文件(.pro文件)中,加入SQL模块:QT += sql。在需要使用SQL的类定义中,引用相关头文件,例如:#include <QSqlDatabase> #include <QSqlError> #include <QSqlQuery>。建立数据库可以使用QSqlDatabase类,使用QSqlQuery类执行SQL语句。在执行SQL语句时,成功执行的SQL语句将查询的状态设置为活动状态,以便isActive()返回true。否则,查询的状态将设置为非活动状态。在任何一种情况下,执行新的SQL语句时,查询都位于无效记录上。必须先将活动查询导航到有效记录(以便isActive()返回true),然后才能检索值。具体操作可以参考以下代码:
//建立数据库连接
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("mydatabase.db");
if (!db.open()) {
qDebug() << "Failed to connect to database.";
return;
}
//创建表
const QString sql=R"( CREATE TABLE IF NOT EXISTS my_table ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name CHAR (50) UNIQUE NOT NULL, age INTEGER );)";
QSqlQuery query;
if(query.exec(sql)){
qDebug()<<"init table success";
}else{
qDebug()<<"init table error"<<query.lastError();
}
//插入数据
QString name = "Tom";
int age = 20;
QString insertSql = QString("INSERT INTO my_table (name, age) VALUES ('%1', %2)").arg(name).arg(age);
if(query.exec(insertSql)){
qDebug()<<"insert data success";
}else{
qDebug()<<"insert data error"<<query.lastError();
}
//查询数据
QString selectSql = "SELECT * FROM my_table";
if(query.exec(selectSql)){
while(query.next()){
int id = query.value(0).toInt();
QString name = query.value(1).toString();
int age = query.value(2).toInt();
qDebug()<<id<<name<<age;
}
}else{
qDebug()<<"select data error"<<query.lastError();
}
qt连接sqlite数据库
首先需要在Qt项目中引入sqlite3头文件和库文件,可以通过以下步骤完成:
1. 下载sqlite3的预编译库(比如sqlite-amalgamation-3330000.zip)并解压到一个目录中,其中包含sqlite3.h和sqlite3.c两个文件。
2. 在Qt项目中新建一个子目录,比如"sqlite",用于存放sqlite3头文件和库文件。
3. 将sqlite3.h复制到"sqlite"目录下。
4. 在Qt项目的.pro文件中加入如下内容:
```
INCLUDEPATH += $$PWD/sqlite
LIBS += -L$$PWD/sqlite -lsqlite3
```
接下来就可以在Qt代码中调用sqlite3 API来连接数据库,示例代码如下:
```cpp
#include <QtSql>
#include <QDebug>
int main(int argc, char *argv[])
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("mydatabase.db");
if (!db.open()) {
qDebug() << "Failed to connect to database.";
return 1;
}
qDebug() << "Connected to database.";
// ...
db.close();
return 0;
}
```
这段代码使用了Qt自带的QSqlDatabase类来连接sqlite3数据库。首先调用addDatabase函数来指定数据库类型为QSQLITE,并设置数据库文件名为"mydatabase.db"。然后调用open函数打开数据库连接,如果连接失败则输出错误信息。最后调用close函数关闭数据库连接。