我是靠谱客的博主 谦让眼睛,最近开发中收集的这篇文章主要介绍使用Qt连接MySql并创建表号、写入数据、删除数据前言一、简介介绍Qt与MySql的联系二、完成Qt与MySql服务的连接需要满足效果实图操作方法导入包方法如下图所示MySql环境设置并验证工具增加、删除数据功能。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


前言

MySQL的重要性
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。


一、简介介绍Qt与MySql的联系

基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。
在此基础上,我们在做Ubuntu嵌入式开发,更好的可以选择MysQl服务器。

二、完成Qt与MySql服务的连接需要满足

  • 安装MySql并设置环境
  • 安装Qt并设置适用与MySql的环境
  • 如果Qt报错:QMYSQL driver not loaded
    1、 解决方法是把MySql的 libmysql.dll拷贝到相对应的编译器中
    在这里插入图片描述

2、 注意QT选用的Windows32位要对应32位的 libmysql.dll

3、注意QT选用的Windows64位要对应64位的 libmysql.dll

4、注意:需要在工程文件中的xxxx.pro中添加 QT += sql 如下图所示
5、注意选择C:mysql-5.7.37-win32lib中的libmysql.dll拷贝到 C:QtQt5.9.05.9mingw53_32bin中 (记得对应是32位还是64位的 一定要对应)libmysql.dll在这里插入图片描述

Qt源代码mainwindow.h

代码如下(示例):

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMainWindow>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QDebug>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>
#include <QGridLayout>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

public:
   void myLayout();

private  slots:

   void button_1_clicked();
   void button_2_clicked();
   void button_3_clicked();
   void button_4_clicked();

protected:
    QLabel  *Label_1;
    QLabel  *Label_2;
    QLabel  *Label_3;
    QLabel  *Label_4;

    QLineEdit *Line_1;
    QLineEdit *Line_2;
    QLineEdit *Line_3;
    QLineEdit *Line_4;

    QPushButton *Button_1;
    QPushButton *Button_2;
    QPushButton *Button_3;
    QPushButton *Button_4;

};

#endif // MAINWINDOW_H

Qt源代码main.cpp

代码如下(示例):

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    w.setFixedSize(300,200);
    w.setWindowTitle("MySql连接工具");
    w.myLayout();
    return a.exec();
}

Qt源代码mainwindow.cpp

代码如下(示例):

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::myLayout()
{
    QWidget *centerWindow = new QWidget;
    this->setCentralWidget(centerWindow);

    Button_1 = new QPushButton("连接MySql");
    Button_2 = new QPushButton("添加数据");
    Button_3 = new QPushButton("更新数据");
    Button_4 = new QPushButton("删除数据");


    Line_1 = new QLineEdit;
    Line_2 = new QLineEdit;
    Line_3 = new QLineEdit;
    Line_4 = new QLineEdit;

    Label_1 = new QLabel("id");
    Label_2 = new QLabel("name");
    Label_3 = new QLabel("age");
    Label_4 = new QLabel("score");

    Button_1->setMinimumHeight(50);
    Button_2->setMinimumHeight(50);
    Button_3->setMinimumHeight(50);
    Button_4->setMinimumHeight(50);


    connect(Button_1,SIGNAL(clicked(bool)),this,SLOT(button_1_clicked()));
    connect(Button_2,SIGNAL(clicked(bool)),this,SLOT(button_2_clicked()));
    connect(Button_3,SIGNAL(clicked(bool)),this,SLOT(button_3_clicked()));
    connect(Button_4,SIGNAL(clicked(bool)),this,SLOT(button_4_clicked()));

    QGridLayout *layout = new QGridLayout;

    layout->addWidget(Line_1,0,1,1,3,Qt::Alignment());
    layout->addWidget(Line_2,1,1,1,3,Qt::Alignment());
    layout->addWidget(Line_3,2,1,1,3,Qt::Alignment());
    layout->addWidget(Line_4,3,1,1,3,Qt::Alignment());

    layout->addWidget(Button_1,4,0,Qt::Alignment());
    layout->addWidget(Button_2,4,1,Qt::Alignment());
    layout->addWidget(Button_3,4,2,Qt::Alignment());
    layout->addWidget(Button_4,4,3,Qt::Alignment());


    layout->addWidget(Label_1,0,0,Qt::Alignment());
    layout->addWidget(Label_2,1,0,Qt::Alignment());
    layout->addWidget(Label_3,2,0,Qt::Alignment());
    layout->addWidget(Label_4,3,0,Qt::Alignment());


    layout->setMargin(12);
    centerWindow->setLayout(layout);
}

void MainWindow::button_1_clicked()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");//数据库服务器ip
    db.setUserName("root");//数据库用户名
    db.setPassword("123456");//数据库密码
    db.setDatabaseName("mydata");//使用哪个数据库
    //端口号就使用默认的3306吧,因为在本地
    if( !db.open() )//打开数据库,如果返回false表示打开失败
    {
        QMessageBox::warning(this,"错误",db.lastError().text() );//打开失败,显示错误信息
        return;
    }else
    {
        QMessageBox::warning(this,"恭喜~~~","Mysql连接成功!");
    }

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

}

void MainWindow::button_2_clicked()
{
    int id = Line_1->text().toInt();
    QString name = Line_2->text();
    int age = Line_3->text().toInt();
    int score = Line_4->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 MainWindow::button_3_clicked()
{

        int id = Line_1->text().toInt();
        QString name = Line_2->text();
        int age = Line_3->text().toInt();
        int score = Line_4->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);


}

void MainWindow::button_4_clicked()
{

        int id = Line_1->text().toInt();
        QString sql = QString("delete from student where id = '%1'").arg(id);
        QSqlQuery query;
        query.exec(sql);


}

效果实图

在这里插入图片描述

操作方法

  • 将代码拷贝到工程中。
  • 下载工程包直接导入。

工程包免费下载链接


导入包方法如下图所示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


MySql环境设置并验证工具增加、删除数据功能。

MySql环境设置及qt工具验证图解链接

最后

以上就是谦让眼睛为你收集整理的使用Qt连接MySql并创建表号、写入数据、删除数据前言一、简介介绍Qt与MySql的联系二、完成Qt与MySql服务的连接需要满足效果实图操作方法导入包方法如下图所示MySql环境设置并验证工具增加、删除数据功能。的全部内容,希望文章能够帮你解决使用Qt连接MySql并创建表号、写入数据、删除数据前言一、简介介绍Qt与MySql的联系二、完成Qt与MySql服务的连接需要满足效果实图操作方法导入包方法如下图所示MySql环境设置并验证工具增加、删除数据功能。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部