数据库(QT)

数据库简介

系统学习:《QT creator快速入门》
教程:http://shouce.jb51.net/qt-beginning/26.html
Qt中的QtSql模块提供了对数据库的支持,该模块中的众多类基本上可以分为三层.
Qtsql
其中驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁;SQL接口层提供了对数据库的访问,其中的QSqlDatabase类用来创建连接,QSqlQuery类可以使用SQL语句来实现与数据库交互,其他几个类对该层提供了支持;用户接口层的几个类实现了将数据库中的数据链接到窗口部件上。对应数据库部分的内容,大家可以在帮助中查看SQL Programming关键字。

QT += sql

数据库驱动查询:QSqlDatabase::drivers()
SQLite数据库是一款轻型的文件型数据库,主要应用于嵌入式领域,支持跨平台,而且Qt对它提供了很好的默认支持。

Qt Creator配置数据库,包含MySQL的库和头文件,在.pro添加:

INCLUDEPATH += C:/MySQL/include/
LIBS+= -LC:/MySQL/lib/ -llibmysql

MySQL驱动没有加载的时候要考虑是否存在依赖,将libmysql.dll文件复制到C:\Qt\4.8.4\bin中,然后再次运行程序试试
常规操作:

	// 输出可用数据库
    qDebug() << "Available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug() << driver;

    // 打开MySQL
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("mydata");
    db.setUserName("root");
    db.setPassword("");
    if (!db.open())
        qDebug() << "Failed to connect to root mysql admin";
    else qDebug() << "open";

    QSqlQuery query(db);

    //注意这里varchar一定要指定长度,不然会出错
    query.exec("create table student(id int primary key,name varchar(20))");

    query.exec("insert into student values(1,'xiaogang')");
    query.exec("insert into student values(2,'xiaoming')");
    query.exec("insert into student values(3,'xiaohong')");

    query.exec("select id,name from student where id >= 2");

    while(query.next())
    {
        int value0 = query.value(0).toInt();
        QString value1 = query.value(1).toString();
        qDebug() << value0 << value1 ;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值