QT---操作MySQL

连接数据库:

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL","database1");//database是为了标识这个数据库
    //连接数据库
    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;
    }
    else
    {
        qDebug()<<"link successufull";
    }

我们成功连接上了数据库以后

写上头文件:

#include<QSqlQuery>//sql语句的头文件

才能写sql语句

这里是创建了一个表

QSqlQuery query(db);//在指定的数据库中写sql语句
query.exec("create table student(id int primary key auto_increment,name varchar(255),age int,score int);");

其他的增删改查都是一样的

这里提供一个不一样的

批量插入

头文件

#include<QVariantList>//包括了所有的数据类型

准备:

query.prepare("insert into student(name,age,score) values(?,?,?)");//问好相当于占位符,因为现在不知道具体是什么数据

我们先创建字段:

QVariantList nameList;
nameList<<"Mason"<<"Tom"<<"Tim";
QVariantList ageList;
ageList<<19<<20<<21;
QVariantList scoreList;
scoreList<<99<<98<<97;

然后给字段绑定值:

//给字段绑定值,按顺序绑定
query.addBindValue(nameList);
query.addBindValue(ageList);
query.addBindValue(scoreList);

最后执行:

query.execBatch();

结果:

猜你喜欢

转载自blog.csdn.net/scwMason/article/details/81916458