写一个Qt连接MySQl,并且实现增删改查
时间: 2024-05-10 22:19:18 浏览: 17
好的,以下是一个简单的Qt连接MySQL并实现增删改查的示例:
首先需要安装Qt自带的MySQL驱动,可以在Qt Creator中的“工具”->“选项”->“Kits”->“Qt版本”中找到对应的MySQL驱动并安装。
然后在Qt Creator中创建一个新的Qt Widgets应用程序项目,将以下代码添加到mainwindow.cpp中:
```cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtSql>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 连接MySQL数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); // MySQL服务器地址
db.setDatabaseName("test"); // 数据库名称
db.setUserName("root"); // MySQL用户名
db.setPassword("123456"); // MySQL密码
if (!db.open()) {
qDebug() << "连接MySQL数据库失败!";
return;
}
// 查询数据
QSqlQuery query;
query.exec("SELECT * FROM student");
while (query.next()) {
QString name = query.value(1).toString();
int age = query.value(2).toInt();
qDebug() << "姓名:" << name << ",年龄:" << age;
}
// 插入数据
query.prepare("INSERT INTO student (name, age) VALUES (:name, :age)");
query.bindValue(":name", "张三");
query.bindValue(":age", 18);
if (!query.exec()) {
qDebug() << "插入数据失败!";
return;
}
// 更新数据
query.prepare("UPDATE student SET age = :age WHERE name = :name");
query.bindValue(":age", 20);
query.bindValue(":name", "张三");
if (!query.exec()) {
qDebug() << "更新数据失败!";
return;
}
// 删除数据
query.prepare("DELETE FROM student WHERE age > :age");
query.bindValue(":age", 20);
if (!query.exec()) {
qDebug() << "删除数据失败!";
return;
}
qDebug() << "操作完成!";
db.close(); // 关闭数据库连接
}
MainWindow::~MainWindow()
{
delete ui;
}
```
在上面的代码中,我们首先使用QSqlDatabase类连接MySQL数据库,然后使用QSqlQuery类进行数据操作,包括查询、插入、更新和删除。在操作完成后,关闭数据库连接。
最后,我们可以在主函数中创建一个MainWindow对象并显示出来:
```cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
```
这样就完成了一个简单的Qt连接MySQL并实现增删改查的程序。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)