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

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

相关推荐
blasit1 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1236 天前
matlab画图工具
开发语言·matlab
dustcell.6 天前
haproxy七层代理
java·开发语言·前端
norlan_jame6 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone6 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054966 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
百锦再6 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
遥遥江上月6 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237176 天前
C语言-数组练习进阶
c语言·开发语言·算法