SQLITE

1,创建SQLITE数据库

//默认链接名是"defaultConnection"
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(QString("./test.db"));//设置数据库路径及名字
//创建表
//在同一个线程里使用数据库之前必须保证数据库是正常打开的
if(!db.open())
	return;
QSqlQuery query;//在同一线程里,db打开后,这里默认会连接到已打开的数据库上
if(!db.tables().contains("students"))
	query.exec("create table students(name varchar,id int,class int,primary key(id))");

2,基本操作(增,删,改,查)

// 增加
query.exec("insert into students values(张三,1234,1)");

//删除
query.exec("delete from students");//删除表中所有数据
query.exec("delete from students where id=1234");//删除表中某一条数据

//修改
query.exec("update students set name=李四 where id=1234");

//查询
query.exec("select * from students");//查询所有数据
query.exec("select * from students where name=张三");//查询name是张三的所有数据

3,如何在其他线程里使用主线程打开的数据库

主要是在子线程中使用不同的连接名,和设置只读连接就能够在子线程中访问同一数据库
//连接名不能和主线程连接名相同
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","1234567");
db.setDatabaseName("./mydb.db");
db.setConnectOptions("QSQLITE_OPEN_READONLY");//设置为只读
db.open();

/*
SQLIT的几种options:
	QSQLITE_BUSY_TIMEOUT
	QSQLITE_OPEN_READONLY
	QSQLITE_OPEN_URI
	QSQLITE_ENABLE_SHARED_CACHE
	QSQLITE_ENABLE_REGEXP
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值