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();    //回滚

 

posted @ 2017-11-15 18:24  Qt王二狗  阅读(2292)  评论(0编辑  收藏  举报