qt----QSqlDatabase数据库
说明
qt有关数据库操作常用QSqlDatabase这个类来操作,使用这个类时,首先在模块中添加 Qt += sql 然后再添加头文件 #include <QtSql>
常用操作
1、创建数据库
2、数据的增、删、改、查
1、创建数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName("MyBrandDB");
db.setDatabaseName("MyDb.db");
db.setUserName("Liu");
db.setPassword("123456");
if(!db.open())
return false;
在使用QSqlDatabase::addDatabase("QOCI","OracleA")函数时,第一个参数是驱动类型主键,第二个是连接名。
2、数据库的增删改查(查询命令就是SQL的通用命令)
创建一张表
QSqlQuery query;
//创建分类表
query.exec("create table type_table(id varchar primary key, name varchar)");
query.exec("insert into type_table values('0', '请选择类型')");
query.exec("insert into type_table values('1', '电视')");
query.exec("insert into type_table values('2', '空调')");
查询/获取键值
QSqlQuert query;
query.exec(QString("select price from table_name where 条件1='' and 条件2=''"))
query.next();//在执行完exec()之后会把指针放在记录集中的第一个记录之上,所以需要调用next()来获取第一个数据
int nPrice = query.value(0).toInt();
修改/写入数据库
QSqlQuery query;
QSqlDatabase::database().transaction(); //事物操作
bool bResult = query.exec(QString("update table_name set price=2 where 条件1='' and 条件2=''"));
if(bResult)
QSqlDatabase::database().commit(); //提交
else
QSqlDatabase::database().rollback(); //回滚

浙公网安备 33010602011771号