广告
返回顶部
首页 > 资讯 > 数据库 >QT访问QSqlite数据库的实例
  • 485
分享到

QT访问QSqlite数据库的实例

2024-04-02 19:04:59 485人浏览 薄情痞子
摘要

Qtsql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与

Qtsql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。
QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:

 驱动程序 数据库 
 QDB2 IBM DB2 7.1版以及更新的版本 
 QIBASE Borland InterBase
 QMysql mysql 
 QOCI 甲骨文公司(oracle Call Interface)
 QODBC ODBC(包括微软公司的QSL服务)
 QPSQL postgresql的7.3版以及更高版本 
 QSQLITE QSLite第3版 
 QSQLITE2 QSLite第2版

 QTDS Qybase自适应服务器 


访问QSqlite数据库的实例:

步骤:

1、创建Qt控制台程序。
2、在pro问价中添加QT +=sql;
3、在main.cpp中添加如下代码:


[cpp] view plain copy print?QT访问QSqlite数据库的实例QT访问QSqlite数据库的实例

  1. #include <QCoreApplication>  

  2. #include <QSql>  

  3. #include <QSqlDatabase>  

  4. #include <QSqlError>  

  5. #include <QSqlQuery>  

  6. #include <QString>  

  7. #include <QFile>  

  8. #include <QDebug>  

  9. #include <QVariantList>  

  10.   

  11. int main(int arGC, char *argv[])  

  12. {  

  13.     QCoreApplication a(argc, argv);  

  14.   

  15.     QSqlDatabase database = QSqlDatabase::aDDDatabase("QSQLITE");  

  16.   

  17.     database.setDatabaseName("CashSystem.db");  

  18.   

  19.     if(database.open())  

  20.     {  

  21.         qDebug()<<"Database Opened";  

  22.   

  23.         QSqlQuery sql_query;  

  24.         QString create_sql = "create table member (id int primary key, name varchar(30), address varchar(30))"; //创建数据表  

  25.         QString insert_sql = "insert into member values(?,?,?)";    //插入数据  

  26.   

  27.         QString select_all_sql = "select * from member";  

  28.   

  29.         sql_query.prepare(create_sql); //创建表  

  30.         if(!sql_query.exec()) //查看创建表是否成功  

  31.         {  

  32.             qDebug()<<QObject::tr("Table Create failed");  

  33.             qDebug()<<sql_query.lastError();  

  34.         }  

  35.         else  

  36.         {  

  37.             qDebug()<< "Table Created" ;  

  38.   

  39.             //插入数据  

  40.             sql_query.prepare(insert_sql);  

  41.   

  42.             QVariantList GroupIDs;  

  43.             GroupIDs.append(0);  

  44.             GroupIDs.append(1);  

  45.             GroupIDs.append(2);  

  46.   

  47.             QVariantList GroupNames;  

  48.             GroupNames.append("hsp");  

  49.             GroupNames.append("rl");  

  50.             GroupNames.append("spl");  

  51.   

  52.             QVariantList GroupAddress;  

  53.             GroupAddress.append("南充");  

  54.             GroupAddress.append("宝鸡");  

  55.             GroupAddress.append("南充");  

  56.   

  57.             sql_query.addBindValue(GroupIDs);  

  58.             sql_query.addBindValue(GroupNames);  

  59.             sql_query.addBindValue(GroupAddress);  

  60.   

  61.             if(!sql_query.execBatch())  

  62.             {  

  63.                 qDebug()<<sql_query.lastError();  

  64.             }  

  65.             else  

  66.             {  

  67.                 qDebug()<<"插入记录成功";  

  68.             }  

  69.   

  70.             //查询所有记录  

  71.             sql_query.prepare(select_all_sql);  

  72.             if(!sql_query.exec())  

  73.             {  

  74.                 qDebug()<<sql_query.lastError();  

  75.             }  

  76.             else  

  77.             {  

  78.                 while(sql_query.next())  

  79.                 {  

  80.                     int id = sql_query.value(0).toInt();  

  81.                     QString name = sql_query.value(1).toString();  

  82.                     QString address = sql_query.value(2).toString();  

  83.                     qDebug()<<QString("ID:%1  Name:%2  Address:%3").arg(id).arg(name).arg(address);  

  84.                 }  

  85.             }  

  86.         }  

  87.     }  

  88.     database.close();  

  89.    // QFile::remove("CashSystem.db");  

  90.     return a.exec();  

  91. }  



4、运行截图:


QT访问QSqlite数据库的实例

5、在项目的debug文件夹下,生成了对应的.db文件,使用navicat forSqlite工具打开,显示结果如下:

QT访问QSqlite数据库的实例


您可能感兴趣的文档:

--结束END--

本文标题: QT访问QSqlite数据库的实例

本文链接: https://www.lsjlt.com/news/44387.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • QT访问QSqlite数据库的实例
    QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与...
    99+
    2022-10-18
  • Java访问数据库实例详解
    JAVA程序想要访问数据库,需要进行如下准备: 1.安装一个数据库(这里使用mysql免安装版)2.下载该数据库的驱动包(这里使用mysql官方提供的mysql-connector-...
    99+
    2022-11-13
  • Shell、Perl、Python、PHP访问 MySQL 数据库代码实例
    下午写了一个简单的 bash 脚本,用来测试程序,输入一个测试用例文件,输出没有通过测试的用例和结果,然后把结果保存到数据库里。如何在 bash 脚本里直接访问数据库呢?既然在 shell 里可以直接用 m...
    99+
    2022-06-04
    实例 代码 数据库
  • python访问mysql数据库的实现方法(2则示例)
    本文实例讲述了python访问mysql数据库的实现方法。分享给大家供大家参考,具体如下: 首先安装与Python版本匹配的MySQLdb 示例一 import MySQLdb conn=MySQLdb...
    99+
    2022-06-04
    示例 数据库 方法
  • Spring数据库访问之ORM的示例分析
    这篇文章主要介绍Spring数据库访问之ORM的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring数据库访问中另外一大模块就是ORM,ORM即对象/关系映射。Spring支持大多数ORM框架,比如Hi...
    99+
    2023-06-17
  • Qt创建SQlite数据库的示例代码
    Qt 创建 SQlite数据库 void Widget::initDB() { // 创建并打开数据库 QSqlDatabase database; data...
    99+
    2022-11-13
  • Android访问php取回json数据实例
    php代码 代码如下: $array = array( 'username'=>'杨铸', 'password'=>'123456', 'user_id'=>...
    99+
    2022-06-06
    json数据 JSON PHP Android
  • SpringBoot整合数据库访问层的实战
    目录一、springboot整合使用JdbcTemplate1.pom依赖2.application.yml新增配置3.建表sql4.UserService5.浏览器访问二、整合my...
    99+
    2022-11-13
  • Holer实现外网访问PostgreSQL数据库
    外网访问内网PostgreSQL数据库 内网主机上安装了PostgreSQL数据库,只能在局域网内访问,怎样从公网也能访问本地PostgreSQL数据库? 本文将介绍使用holer实现的具体步骤。...
    99+
    2022-10-18
  • Holer实现MongoDB数据库外网访问
    外网访问内网MongoDB数据库 内网主机上安装了MongoDB数据库,只能在局域网内访问,怎样从公网也能访问本地MongoDB数据库? 本文将介绍使用holer实现的具体步骤。 1. 准备工...
    99+
    2022-10-18
  • QT的mysql(数据库)最佳实践和常见问题解答
    涉及到数据库,首先安利一个软件Navicat Premium,用来查询数据库很方便  QMysql驱动是Qt SQL模块使用的插件,用于与MySQL数据库进行通信。要编译QMysql驱动,您需要满足以下条件: 您需要安装MySQL的客户端...
    99+
    2023-09-01
    数据库 mysql qt c++ 经验分享
  • Python的Tornado框架实现异步非阻塞访问数据库的示例
    tornado即是一个http非阻塞服务器, 就要用起来, 我们将用到tornado框架 ,mongodb数据库 以及motor(mongodb的异步驱动).来简单实现tornado的非阻塞功能. 其他环境...
    99+
    2022-06-04
    示例 框架 数据库
  • Java访问数据库的具体步:
    本篇内容介绍了“Java访问数据库的具体步:”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:Java访问...
    99+
    2022-10-18
  • Holer实现外网访问内网数据库
    外网访问内网数据库 本地安装了数据库,只能在局域网内访问,怎样从外网也能访问本地数据库? 本文将介绍使用holer实现的具体步骤。 1. 准备工作 1.1 安装并启动数据库 默认安装的数据库端口是3306。...
    99+
    2022-10-18
  • Qt实现编辑数据库数据的方法详解
    前面几章我们介绍了如何对数据库进行操作以及如何使用图形界面展示数据库数据。本章我们将介绍如何对数据库的数据进行编辑。当然,我们可以选择直接使用 SQL 语句进行更新,这一点同前面所说...
    99+
    2023-02-03
    Qt编辑数据库数据 Qt编辑数据库 Qt 数据库
  • QT连接Mysql数据库的实现步骤
    目录前言方法一、直接通过MySQL的驱动加载数据库方法二、通过ODBC连接MySQL数据库ODBC连接代码总结前言 QT连接Mysql数据库步骤相对比较麻烦,因此写了篇文章将详细过程...
    99+
    2022-11-13
  • Spring boot基于JPA访问MySQL数据库的实现
    本文展示如何通过JPA访问MySQL数据库。 JPA全称Java Persistence API,即Java持久化API,它为Java开发人员提供了一种对象/关系映射工具来管理Jav...
    99+
    2022-11-12
  • docker部署访问postgres数据库的实现方法
    目录部署与访问启用日志如果需要修改pg配置重启pg代码&外部连接时注意(温馨提示)部署与访问 宿主机创建postgres用户: adduser postgres 拉取镜像,...
    99+
    2022-11-13
  • Java swing实现应用程序对数据库的访问问题
    用Java swing实现一个套接字访问数据库 最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下: 利用套接字技术实现应用程序中对数据库的访问。应用程序只...
    99+
    2022-11-13
  • 访问云服务器上的数据库
    要访问一个云服务器上的数据库,需要使用Web API来访问该数据库。以下是一些步骤: 打开Web服务器并连接到云服务提供商的DSLAM CENTER,例如Amazon或Google等。 使用Web API API的Web浏览器或终端访问...
    99+
    2023-10-26
    器上 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作