QT连接Sqlite

使用QTCreator;

根据资料,Qt自带SQLite数据库,不需要再单独安装,默认情况下,使用SQLite版本3,驱动程序为***QSQLITE***;

首先创建项目;在 Build system 中应选中qmake,否则后面可能没有.pro文件,这是Qt的配置文件;

在pro文件中添加一行,QT += core gui printsupport sql, 如下图;

头文件中加入如下图选中的文件包含,struct _tempdata 这个也是自己加的,这是测试表的字段,先加上也可以;

main.cpp加上自己的代码后如下;

cpp 复制代码
#include "mainwindow.h"

#include <QApplication>

bool openDb();

QSqlDatabase db;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();    
    openDb();
    return a.exec();
}

bool openDb()
{
    if(QSqlDatabase::contains("qt_sql_default_connection"))
    {
        db = QSqlDatabase::database("qt_sql_default_connection");
    }
    else {
        db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName("D:/sqlite/test1.db");
    }

    if(!db.open())
    {
        qDebug()<<"error: failed to connect sqlite3 database."<< db.lastError();
        return false;
    }
    else {
        qDebug()<<"success to connect sqlite3 database.";
        return true;
    }
}

数据库在如下位置;

运行程序;如果路径不对就会连接不上,出现 QSqlError("14"... 这个错误;如果pro文件、代码、数据库路径都没问题,连接上了就会出现下图最后行的提示;

现在还不知道如何单击按钮调用一个自定义函数;下回继续;

相关推荐
毕设源码-赖学姐7 分钟前
【开题答辩全过程】以 基于Java的小区物业管理系统APP的设计与实现为例,包含答辩的问题和答案
java·开发语言
繁华似锦respect9 分钟前
C++ & Linux 中 GDB 调试与内存泄漏检测详解
linux·c语言·开发语言·c++·windows·算法
锡兰_CC15 分钟前
无缝触达,卓越体验:开启openEuler世界的任意门
服务器·网络·数据库·c++·图像处理·qt·nginx
小徐敲java19 分钟前
python的FastAPI框架
开发语言·python·fastapi
lsx20240623 分钟前
CSS3 分页设计指南
开发语言
Source.Liu33 分钟前
【LibreCAD】RS_Pen 类详解
qt·cad
CHANG_THE_WORLD33 分钟前
Python 切片操作全面解析
开发语言·python
不会代码的小猴35 分钟前
C++的第十二天笔记
开发语言·c++·笔记
Boop_wu1 小时前
[Java EE] 字符流和字节流实例
java·开发语言·apache
shangjian0071 小时前
Python基础-闭包和装饰器
开发语言·python