QT 操作数据库SQLite实例
#include "widget.h"
#include <QApplication>
#include <QtSql>
#include <QTextCodec>
#include <QDebug> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
/*QStringList drivers = QSqlDatabase::drivers(); //获取支持的SQL驱动
for( int i=0; i!=drivers.count(); i++ )
qDebug() << "driver: " << drivers.at(i);
*/
QSqlDatabase dbconn=QSqlDatabase::addDatabase("QSQLITE"); //添加数据库驱动
dbconn.setDatabaseName("mytest.db"); //在工程目录新建一个mytest.db的文件
if(!dbconn.open())
{
qDebug()<<"error";
} QSqlQuery query(dbconn);//以下执行相关QSL语句
//新建student表,id设置为主键,还有一个name项
query.exec("create table student(id varchar,name varchar)");
query.exec(QObject::tr("insert into student values(1,'李刚')"));
query.exec(QObject::tr("insert into student values(2,'苹果')"));
query.exec(QObject::tr("insert into student values(3,'葡萄')")); query.prepare("insert into student values(?,?)");
QVariantList ids;
ids << 4 << 5 << 6;
query.addBindValue(ids);
QVariantList names;
names << "kevin" << "xiang" << "jie";
query.addBindValue(names); if( !query.execBatch() )
qDebug() << "Error: " << query.lastError(); query.exec("update student set name='xiangjie' where id=5"); //更新
query.exec("delete from student where id=6"); //删除 //query.exec("select id,name from student where id>=2");
query.exec("select * from student");
while(query.next())//query.next()指向查找到的第一条记录,然后每次后移一条记录
{
int ele0=query.value(0).toInt();//query.value(0)是id的值,将其转换为int型
QString ele1=query.value(1).toString();
qDebug()<< query.at() << ele0<<ele1;//输出两个值
} query.seek(3);
QSqlRecord record = query.record(); //获取当前行记录
qDebug() << "id: " << record.value("id").toInt() << " name: " << record.value("name").toString(); QSqlField field = record.field(1); //获取索引字段
qDebug() << "field name:" << field.name() << " field value:" << field.value().toString(); query.exec(QObject::tr("drop table student")); //删除table
//return a.exec();
}
QT 操作数据库SQLite实例的更多相关文章
- QT 操作数据库
整理一下 QT 操作数据库的一些要点,以备以后的查询学习(主要是操作 mysql ). 首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证: #include <QtCore/QCo ...
- JPA + SpringData 操作数据库--Helloworld实例
前言:谈起操作数据库,大致可以分为几个阶段:首先是 JDBC 阶段,初学 JDBC 可能会使用原生的 JDBC 的 API,再然后可能会使用数据库连接池,比如:c3p0.dbcp,还有一些第三方工具, ...
- websql的使用/phonegap操作数据库 sqlite
对websql的常用操作进行了一个封装,项目是基于phonegap的,不过phonegap默认已经集成了数据库操作的插件,所以无需再配置什么,直接用就可以了: /** *数据库操作辅助类,定义对象.数 ...
- iOS - SQLite Database 操作数据库
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
- iOS基础 - 数据库-SQLite
一.iOS应用数据存取的常用方式 XML属性列表 —— PList NSKeyedArchiver 归档 Preference(偏好设置) SQLite3 Core Data(以面向对象的方式操作数据 ...
- VC++下使用ADO操作数据库
VC++下使用ADO操作数据库主要要用到 _ConnectionPtr,_CommandPtr,_RecordsetPtr三个ADO对象指针,我查找了相关资料,发现网上源码很多,但是都相对凌乱,于是自 ...
- 数据库-SQLite
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong 数据库-SQLite 技术博客http:// ...
- Qt之操作数据库(SQLite)实例
QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持.QSqlDatabase对象象征了数据库的关联.Qt使用驱动 ...
- Qt之操作数据库(SQLite)
SQLite 简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需 ...
随机推荐
- 不需要Root即可Hook别人APP的方法
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 怎样新建Quartusproject—FPGA新手教程
这一章我们来实现第一个FPGAproject-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建project,代码设计,综合实现.管脚约束,下载FPGA程序. 掌握本章内 ...
- MongoDB入门学习(1)
什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...
- 解决UISlider滑块不灵敏
由于UI给的thumbImage图片过小,默认UISlider开始拖动的手势范围只有thumbImage的大小之内. 为了解决这个问题需要创建一个子类继承于UISlider.重写其中的方法: - (C ...
- Android使用SQLite数据库
Android中得数据库 加载驱动 连接数据库 操作数据库 使用API方式进行查询 事物操作 SQLite中的批处理,加快事物执行速度的.
- 产生n个数全排列的算法
给定n个数{1...n},如何给出这n个数的全排列呢? 给定一个整数k,我们给它一个向左或向右的方向,k(->)或者k(<-),我们说k是可以移动的,如果它的方向指向一个相邻的比它小的数, ...
- SWD下载调试填坑,SWD连接丢失问题解决
野火SWD下载器,设置好以后,第一次下载成功,莫名其妙丢失连接,发现在复位状态可以连接(惊奇) 网络上搜索到把Boot0和Boot1置高,就可以把程序下载到RAM里, 能下载以后就好办了,把程序里SW ...
- SuperAgent使用文档
SuperAgent是一个轻量级.灵活的.易读的.低学习曲线的客户端请求代理模块,使用在NodeJS环境中.官方文档:http://visionmedia.github.io/superagent 简 ...
- json-lib-2.4-jdk15.jar 报错 net.sf.json.JSONException: There is a cycle in the hierarchy!错误解决方案(Hibernate)
使用hibernate容易出现该问题,主要是由于pojo类属性存在级联关系.比如说员工和部门,在员工表里面有部门属性,而在部门表里面有个员工集合,这样就存在了嵌套引用的问题了,就会抛出这个异常. 解决 ...
- ElasticSearch(十七)初识倒排索引
现在有两条document: doc1:I really liked my small dogs, and I think my mom also liked them. doc2:He never ...