当前位置: 传客网 > QT数据库SQLite3(2)

QT数据库SQLite3(2)

2016-12-01 作者:Fans

今天研究一下使用Qt编程对Sqlite数据库进行操作,算是一个Qt操作Sqlite示例,程序实现的功能比较简单,希望能够帮助大家了解Qt编程对Sqlite数据库进行操作的基本方法。

  Qt操作Sqlite示例程序的界面截图如下:
 

  Qt操作Sqlite示例程序对数据库的操作包括4个字段:ID、Name、Addr、Nick(注意第一个字段必须是整数)。

  一共三个按钮,query、insert、delete按钮分别实现查询、插入、删除功能。

  一、查询按钮的实现:
  1. void database::on_QueryButton_clicked() 
  2.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
  3.     bool ok = db.open(); 
  4.     if (ok == true) 
  5.         QSqlQuery query; 

  6.         QString string; 
  7.         while (query.next()) 
  8.             QString id = query.value(0).toString(); 
  9.             qDebug()  << string += id + "\n"; 
  10.             QString name = query.value(1).toString(); 
  11.             string += name + "\n"; 
  12.         qDebug() << ui->TextEdit->setText(string); 
  13.         QMessageBox::information(this, "ERROR", "open database error"); 
  14. }
复制代码
二、插入按钮的实现:
  1. void database::on_InsertButton_clicked() 
  2.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
  3.     bool ok = db.open(); 
  4.     if (ok == true) 
  5.         QSqlQuery query; 




  6.         QMessageBox::information(this, "ERROR", "open database error"); 
  7. }
复制代码
三、删除按钮的实现:
  1. void database::on_DeleteButton_clicked() 
  2.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
  3.     bool ok = db.open(); 
  4.     if (ok == true) 
  5.         QSqlQuery query; 
  6.         QString command="DELETE FROM info WHERE "; 
  7.         if (ui->IdEdit->text().isEmpty() == false) 
  8.         else if (ui->NameEdit->text().isEmpty() == false) 
  9.             command +="name=\'" + ui->NameEdit->text() + "\'"; 
  10.             qDebug() << query.exec(command); 
  11.             QMessageBox::information(this, "ERROR", "open database ok! delete error"); 
  12.         QMessageBox::information(this, "ERROR", "open database error"); 
  13. }
复制代码

通过上面的示例代码,我们发现,其实使用Qt编程对Sqlite数据库进行操作的方法很简单,这对我们编写桌面数据库程序提供了很大方便。

 

转自:http://blog.chinaunix.net/uid-28807555-id-3833132.html



相关推荐

  • python3 CSV转为sqlite3数据库文件

    #!/usr/bin/envpython#-*-coding:utf-8-*-importcsv,os,sqlite3input_filename='qlc2002001-2012Q023.csv'output_filename='data

  • 如何在PHP5中通过PDO连接SQLite3数据库(zt)

    通过PHP跟PDO配置SQLite数据库是一件很繁琐的事情,经过一下午的研究,终于理清了里面的思路。现在拿出来跟大家共享。初学,错误请指出。首先我们先选择要使用的webserver软件,由于从兼容性跟性能方面的需求,我选择了目前来说最新版的

  • sqlite3来访问iPhone本地的数据库

    iPhone中支持通过sqlite3来访问iPhone本地的数据库。具体使用方法如下1:添加开发包libsqlite3.0.dylib首先是设置项目文件,在项目中添加iPhone版的sqlite3的数据库的开发包,在项目下的Framewor

  • Sqlite3.0数据库在iPhone中的应用

    这两天终于把Sqlite数据库在iPhone中的应用搞懂了。。还是那些增删改查,却没有存储过程之类的,数据类型也少了。为了初始化数据,自己感觉有两种方案可以执行,都可以使数据初始化一次:一种是使用主键约束(sidintegerPRIMARY

  • sqlite3查看android数据库

    1.利用adb工具进入shell:adbshell。(在电脑的cmd打开到sdkshell)2.ls查看当前目录,进入data/data/...../databases/。目录3.打开某个数据库:sqlite3xxx.db。4.查询等sql

  • 和天气  数据库 sqlite3

    //详情参考demo////SQLDataVC.m//MyStudyOfWeatherNew////CreatedbyFeinnoon15/12/1.//Copyright©2015年Feinno.Allrightsreserve

  • IOS的数据库sqlite3

    SQLinteger:整型值real:浮点值text:文本字符串blob:二进制(比如文件)DDL创建表格、删除表格createtableifnotexistst_student(idintergerprimarykeyautoincrem

  • 独立数据库租用

    万方数据库中国期刊全文数据库魔兽数据库魔兽世界数据库多玩数据库多玩魔兽数据库数据库设计什么是数据库access数据库数据库软件nba数据库sql数据库维普数据库ip数据库wow数据库纯真ip数据库oracle数据库数据库营销数据库下载中文科

  • oracle全局数据库名称/数据库实例/ORACLE_SID 的区别

    我们在使用oracle创建数据库的过程中会让我们输入全局数据库名和SID,他们的区别是:全局数据库名:主要用于在分布式数据库系统中区分不同的数据库,它是由数据库名和数据库域名组成,格式为“数据库名.数据库域名”,数据库域名允许为空,即只写数

  • Oracle数据库(数据库名、实例名、数据库域名)

    数据库名、实例名、数据库域名、全局数据库名、服务名一、数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建

  • Oracle数据库的后备和恢复

    当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上

  • Oracle数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名(转)

    来源:http://blog.csdn.net/shenkxiao/article/details/7005282一、数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了

  • java学习——第十五章(数据库操作)

    1.数据库系统组成部分:数据库,数据库管理系统(DBMS)和应用系统,数据库管理员数据库是一种存储结构,允许使用各种格式输入,处理和检索数据库。不必每次需要数据时重新输入特点:数据共享,减少数据冗余度,数据独立性,数据实现集中控制,数据可维

  • 什么是嵌入式数据库

    嵌入式数据库与非嵌入式数据库的差别,在于运行模式的差别。并不是运行在嵌入式手持设备上的数据库就是嵌入式数据库,那种数据库我们通常称做嵌入式移动数据库。理论上讲,嵌入式设备一样可以运行网络数据库的服务端程序。嵌入式数据库是指运行在本机上、不用

  • 数据库抽象层adodb和pdo的简单比较和学习

    PHP数据库抽象层与数据库抽象类1什么是数据库抽象层2常用的数据库抽象层3数据库抽象层ADODB-实例[编辑本段]PHP数据库抽象层与数据库抽象类  目前,在PHP的网站及众多书籍中,很少讲到数据库抽象层,有的PHP开发者虽然已做了几年开发

  • EXCEL常用数据库函数及其应用实例

    一、数据库和数据库函数数据库:这里的数据库与传统意义上的数据库有相同点也有很大区别。相同点是每行为一条记录,包含数据的每一列称为字段,都有字段名即第一行为字段名。不同点是EXCEL数据库是指包含一组相关的数据的“一个工作表区域"。数据库函数

  • 异常:此数据库没有有效所有者,因此无法安装数据库

    异常:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。当把从其它机器备份出来的数据库,还原到自己的机器上后,在SSMS中点击这个数据库的数据库关系图时,出现了以下提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要

  • 数据库的学习

    数据库的学习第一章关系型数据库管理第一天学习数据库主要是了解一些数据库的概念和如何安装数据库.数据库就是以某种方式相关的数据的集合数据库分三种模型:层次模型,网状模型,关系模型.其中关系模型最常用.SQL语句数据定义语言(DDL),数据操作

  • 数据库关系规范化理论

    关系型数据库在设计时应该遵守一定的规则,即遵循数据库的范式理论。数据库的数据是一切操作的基础,如果数据库设计不好,利用其它方法来提高数据库性能的效果都将是有限的。而设计的关键是如何使数据库能合理地存储用户的数据,方便用户进行数据处理。规范化

  • 镜像数据库(1)

    内容列表概述数据库镜像介绍数据库镜像动态数据库镜像可用性场景实现数据库镜像数据库镜像和高可用性技术结论概述数据库镜像是SQLSERVER2005用于提高数据库可用性的新技术。数据库镜像将事务日志记录直接从一台服务器传输到另一台服务器,并且能

返回
顶部