QT 通过Access数据库实现登录

代码示例展示了使用Qt的QSqlDatabase模块尝试通过QODBC驱动连接到MicrosoftAccess数据库,然后执行SQL查询来获取指定用户名的用户信息。在连接数据库时遇到问题,每次尝试打开数据库都失败。接着,如果能成功连接,代码会检查查询结果并比对用户输入的密码。
摘要由CSDN通过智能技术生成

需要引用库

如下:

#include <QApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QMessageBox>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlRecord>

连接数据库

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
        qDebug() << db.lastError();
        //连接.mdb
             QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=D:/data.accdb");
             db.setDatabaseName(dsn);
             if(!db.open()) { //此处每次都会打开失败
             QMessageBox::critical(0, QObject::tr("Database Error"),db.lastError().text());

             }
             else
             {
                QMessageBox::information(0,"hello world","Open Database success!",QMessageBox::Ok);
             }

查询数据库

 

  QSqlQuery query;
    query.exec("SELECT * FROM UserInfo WHERE UserName = '"+ui->txtUser->text()+"'");

    // 检查查询是否成功执行
    if (query.isActive()) {
        if (query.next()) {
            // 获取查询结果中的密码字段值
            QString password = query.value("UserPass").toString();

            if (password == ui->txtPass->text()) {
                qDebug() << "Win";
            } else {
                qDebug() << "Fail";
            }
        } else {
            qDebug() << "No user found with the username 'admin'.";
        }
    } else {
        // 查询失败
        qDebug() << "Failed to execute query: " << query.lastError().text();
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值