QT连接数据库

QT连接数据库及操作

MySQL数据库

创建一个新的项目,带ui,(Widget)
在这里插入图片描述
在.pro文件中加上sql,如图
在这里插入图片描述
在类的.cpp中加上两个头文件

#include <QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
#include <QSqlError>

当你加上这一句:

qDebug()<<QSqlDatabase::drivers();

在这里插入图片描述
QSQLITE 文件型数据库,不用服务器。

这里我们用QMYSQL

添加MYSQL数据库

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //数据库对象

连接数据库(首先得先有mysql)

//连接数据库
    db.setHostName("127.0.0.1"); //数据库服务器IP
    db.setUserName("root"); //数据库用户名
    db.setPassword("123456"); //数据库密码
    db.setDatabaseName("info"); //使用哪个数据库

判断数据库是否连接成功同时打开数据库

    if( !db.open() ){
   
    //数据库打开失败
        QMessageBox::warning(this,"错误",db.lastError().text());
        return;
    }

(记住,这里要把libmysql.dll库放进QT的bin文件里,否则会弹出找不到)
下面的百度云网盘里有libmysql。dll的库:
链接:https://pan.baidu.com/s/1vXhscnLRZtI1XhQH8oZaOw
提取码:y7h7

在这里插入图片描述
这样则说明成功了。

创建表

加个头文件:

#include <QSqlQuery>

创建代码:

 QSqlQuery query;
    query.exec("create table student(id int primary key auto_increment, name varchar(255), age int, score int);");

会发现数据库成功创建出一个student的表
在这里插入图片描述
创建表一次就行,或者你事先在mysql创建好了则不用再创建了。

传入数据:

单组传入:
QSqlQuery query;
    query.exec("insert into student(id, name, age, score) values(1, 'mike', 18, 59);");

在这里插入图片描述
在这里,我mysql可视化用的是 sqlyog。

批量插入

加上头文件

#include <QSqlQuery>
#include <QVariantList>
    //odbc风格
    //预处理语句
    //?相当于占位符
    query.prepare("insert into student( name, age, score) values(?,?,?);");
    //给字段设置内容 list
    QVariantList nameList;
    nameList<<"xiaoming"<<"xiaolong"<<"xiaojiang";
    QVariantList ageList;
    ageList<<11<<22<<33;
    QVariantList scoreList;
    scoreList<<59<<69<<79;
    //给字段绑定相应的值,按顺序绑定
    query.addBindValue(nameList);
    query.addBindValue(ageList);
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值