需要引用库
如下:
#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();
}