首先创建一个MYSQL
类型的数据库类
设置需要连接到的数据库服务器ip
设置端口号
设置数据库用户名
设置数据库密码
设置操作哪个数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");//数据库服务器ip
db.setUserName("root");//数据库用户名
db.setPassword("123");//数据库密码
db.setDatabaseName("info");//使用哪个数据库
//端口号就使用默认的3306吧,因为在本地
if( !db.open() )//打开数据库,如果返回false表示打开失败
{
QMessageBox::warning(this,"错误",db.lastError().text() );//打开失败,显示错误信息
return;
}
连接上了数据库,那么就来实现功能吧,做一个这样的界面
![](https://i-blog.csdnimg.cn/blog_migrate/395914dc72aa5390dd31b659eefd6805.png)
要求能直接作用于数据库(这个界面就随便用 u i ui ui界面做吧)
首先创建一下这个数据库
QSqlQuery query;
QString sql1 = "create table student(id int primary key auto_increment,name varchar(255),age int,score int);";
query.exec();
然后看一下数据库,长这个样子
![](https://i-blog.csdnimg.cn/blog_migrate/5d09d2c1b63767b9170c4fc4aef8ed6a.png)
然后实现一下添加按钮的槽函数
void Widget::on_Btnadd_clicked()
{
int id = ui->lineid->text().toInt();
QString name = ui->linename->text();
int age = ui->lineage->text().toInt();
int score = ui->linescore->text().toInt();
QString sql = QString("insert into student(id,name,age,score) values('%1','%2','%3','%4')").arg(id).arg(name).arg(age).arg(score);
QSqlQuery query;
query.exec(sql);
}
更新按钮的槽函数
void Widget::on_Btnupdate_clicked()
{
int id = ui->lineid->text().toInt();
QString name = ui->linename->text();
int age = ui->lineage->text().toInt();
int score = ui->linescore->text().toInt();
QString sql = QString("update student set id='%1',name='%2',age='%3',score='%4' where id='%5'").arg(id).arg(name).arg(age).arg(score).arg(id);
QSqlQuery query;
query.exec(sql);
}
删除按钮的槽函数(按照 i d id id删除)
void Widget::on_Btndel_clicked()
{
int id = ui->lineid->text().toInt();
QString sql = QString("delete from student where id = '%1'").arg(id);
QSqlQuery query;
query.exec(sql);
}