一、环境准备
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();
// }
}
四、总体效果
数据库内容: