QT-小项目:连接MY SQL数据库实现登录(下一章实现登录注册账号和忘记密码功能)

一、环境准备
1、下载MYSQL 64位,安装完成,制作简易数据库教程如下:
MY SQL安装
2、QT 编译器使用
在这里插入图片描述
二、实现工程目录(基于上一章基础上)
在这里插入图片描述
三、源程序增加内容如下:
login.cpp
增加头文件:

#include <QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
#include <QSqlQuery>
void login::connent_mysql()
{
    //链接数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

    db.setHostName("127.0.0.1");
    db.setPort(3306);                    //端口
    db.setUserName("root");
    db.setPassword("123456");
    db.setDatabaseName("user");
    if(!db.open()){
        qDebug() << "未成功链接到数据库";
        QMessageBox::information(this, "infor", "link success");
    }else{
        qDebug() << "成功链接到数据库";
//        QMessageBox::information(this, "infor", "link success");
    }

}

注意如下:
1、以下信息需要按照实际在这里插入图片描述
2、连接数据库,不成功时,可参考https://blog.csdn.net/qq_37529913/article/details/109850670
或者使用ODBC进行链接

3、登录按钮的实现

void login::on_pushButton_login_clicked()
{
    //连接数据库 mysql
    connent_mysql();

    QString account = ui->lineEdit_account->text();
    QString password = ui->lineEdit_password->text();

    QSqlQuery query;

//    query.exec("select * from os_user");

    QString qs = QString("select * from os_user where account = '%1' and pwd='%2'").arg(account).arg(password);
    query.exec(qs);//执行SQL语句
//    qDebug() << qs;
//    qDebug() <<query.size();//获取内容的大小
    if(query.next()){          //获取查询结果集
//    QMessageBox::information(this,"登录","登录成功");
//    qDebug()<<query.value("account").toString();
    this->close();
    MainWindow *h=new MainWindow;
    h->show();
    }
    else
    {
    QMessageBox::information(this,"登录","登录失败");
    }

//    if(ui->lineEdit_account->text() == "admin" && ui->lineEdit_password->text() == "123456"){
//        this->close();
//        MainWindow *h=new MainWindow;
//        h->show();
//    }else{
//        QMessageBox::warning(this,tr("登录失败"),tr("用户名或密码输入错误!"),QMessageBox::Ok);
//        ui->lineEdit_account->clear();
//        ui->lineEdit_password->clear();
//        ui->lineEdit_password->setFocus();
//    }

}

四、总体效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据库内容:
在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 01:02:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 01:02:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 01:02:07       82 阅读
  4. Python语言-面向对象

    2024-05-13 01:02:07       91 阅读

热门阅读

  1. QT作业4

    QT作业4

    2024-05-13 01:02:07      33 阅读
  2. 邦芒面试:面试时如何有效发挥口才

    2024-05-13 01:02:07       35 阅读
  3. 从零手写实现 tomcat-05-servlet 处理支持

    2024-05-13 01:02:07       28 阅读
  4. Python3 笔记:负数的二进制

    2024-05-13 01:02:07       35 阅读
  5. redhat yum源配置

    2024-05-13 01:02:07       31 阅读