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文件、代码、数据库路径都没问题,连接上了就会出现下图最后行的提示;

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

相关推荐
鬼手点金11 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
Mr. zhihao11 小时前
深度解析:为什么Java序列化需要搭配ByteArrayOutputStream?IO装饰器模式的精妙设计
java·开发语言·装饰器模式
格林威11 小时前
多相机并行采图最佳实践:Task.WhenAll + 异常处理 + 资源释放
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·机器视觉
djjjx.11 小时前
【 C++ 】多态
开发语言·c++·多态
夜雪一千11 小时前
Python如何使用XPath定位没有特征的元素?无id、无class通用定位技巧
开发语言·python
艾莉丝努力练剑11 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
流浪00112 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·python
光影少年12 小时前
react离线缓存、图片缓存方案
开发语言·前端·javascript·react native·react.js·缓存·前端框架
SomeB1oody12 小时前
【RustyML入门】3.7. 循环层
开发语言·后端·机器学习·rust·教程
言乐615 小时前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame