连接数据库:
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();
结果: