当前位置: 首页 > news >正文

山东省住房和城乡建设网站长白山网站学做管理

山东省住房和城乡建设网站,长白山网站学做管理,免费 flash网站源码,如何加强网站管理的队伍建设前言 在之前的两篇博客中QT C实战:实现用户登录页面及多个界面跳转、QT C实践|超详细数据库的连接和增删改查操作|附源码分别详细讲解了:登录界面的制作(UI布局、页面跳转、登录逻辑等)、QT如何连接Mysql数据库,并进行…

前言

在之前的两篇博客中QT C++实战:实现用户登录页面及多个界面跳转、QT C++实践|超详细数据库的连接和增删改查操作|附源码分别详细讲解了:登录界面的制作(UI布局、页面跳转、登录逻辑等)、QT如何连接Mysql数据库,并进行增删改查。

在前者登录界面的实现中,我们是把用户名和密码设死在代码内部的,不涉及到数据库,虽然这样很简单,但是实际过程中还是不够人性化。今天,我们要将这两个知识点结合起来,如何在登陆中连接数据库,实现用户登录。

Tips:本篇博客默认已经阅读前两篇博客,并已经拥有如何连接数据库和设计登录的UI界面的基础,固省略很多细节,主要讲“变”。强烈建议先阅读前两篇博客!

一、实现

1.1:前言

  • 在登录界面连接数据库,调用connection.h中的createConnection()创建数据库连接。
  • 在关闭界面的函数内,关闭数据库,释放资源:
    if (db.isOpen()) {db.close();
    }// 然后,从连接池中移除该连接
    QSqlDatabase::removeDatabase("connection1");
    
  • 遍历数据库,将用户名、密码依次和数据库中的信息进行对比,若有一样,则可以进入主界面。
    💁🏻‍♀️使用 QSqlQuery 来执行一个查询,并使用循环来遍历结果集

1.2:具体

首先在登陆界面Login.cpp的构造函数中加入下面创建数据库连接的代码:

//创建数据库连接if (!createConnection()) {return;}db = QSqlDatabase::database("connection1");//

注意db是定义在头文件中公共成员变量中的:

public:Login(QWidget *parent = nullptr);~Login();QSqlDatabase db;

再就是主要修改登录界面的登录按钮的槽函数:

//登录按钮对应槽函数:登陆成功跳转到主功能界面or管理员界面
void Login::inlog_clicked() {//获取用户名和密码输入框中数据QString nameString = ui.name->text();QString pswdString = ui.pswd->text();//遍历数据库int non_flag = 1;//标志数据库中没有该用户信息QSqlQuery query(db);query.exec("select * from user");//执行sql语句bool success = query.exec("SELECT * FROM user");if (success) {while (query.next()) {//获取QString uName = query.value(1).toString();QString uPwd = query.value(2).toString();//QMessageBox::about(this, "显示", "用户名:"+uName +"密码"+uPwd);//比较if (nameString == uName && pswdString == uPwd) {//创建功能主界面并显示new_QT_python* w = new new_QT_python();this->hide();non_flag = 0;w->show();db.close();QSqlDatabase::removeDatabase("connection1");break;}}if (non_flag) {QMessageBox::about(this, "警告", "用户名或密码错误");}}else {// 查询执行失败QSqlError error = query.lastError();QString errorMessage = error.text();QMessageBox::about(this, "数据库错误", "查询失败" + errorMessage);}//if (nameString == QString::fromLocal8Bit("admin")&& pswdString == QString::fromLocal8Bit("123456")) {//	Admin* w = new Admin();//	this->close();//	w->show();//}//else if (nameString == QString::fromLocal8Bit("user") && pswdString == QString::fromLocal8Bit("111111")) {//	//创建功能主界面并显示//	new_QT_python* w = new new_QT_python();//	this->close();//	w->show();//}//else {//	QMessageBox::about(this, "警告", "用户名或密码错误");//	return;//}
}
http://www.yayakq.cn/news/658918/

相关文章:

  • 网站重新安装wordpress登录窗口
  • 公司建设一个网站需要多少钱wordpress文本编辑器插件
  • 那个网站做二手车好搭建一个网站的基本流程
  • 学生做的动漫网站中山移动网站建设公司
  • 自己做网站赚钱吗找工作哪个网站好招聘信息
  • 北京好的做网站公司网站连通率
  • 免费做公司电子画册的网站网站开发系统设计怎么写
  • 部门网站建设管理经验交流材料wordpress单本小说
  • 门户网站建设创新工具磨床东莞网站建设
  • 互联网培训班徐州seo代理计费
  • 做网站打电话怎么和客户说宝塔可以做二级域名网站么
  • chrome打开建设银行网站 个人网上银行怎么不能查询明细学网站开发需要多长时间
  • 哪个网站上做ppt比较好网站项目需求分析
  • 济南网站设计公司大型局域网组建方案
  • 类似建设通的网站wordpress 修改
  • 在进行网站设计时使用pycharm网站开发
  • 网站设计公司 广州心悦会员免做卡网站
  • 网站怎么做百度推广网站动态图片制作
  • wordpress设置导航栏广州搜索引擎优化
  • 网页设计与网站建设全攻略网络工程师证书考什么
  • 云主机做网站域名打不开企业营销策划实训
  • 东莞海边网站建设工作室深圳企业做网站公司哪家好
  • wordpress适合建什么网站吗企业网站建设犇类建筑
  • 做国外营销型网站设计免费网站建设的
  • 通辽网站公司网站系统平台的安全策略是什么
  • 营销单页网站新能源课件网站开发新能源
  • 招生网站模板免费引流推广
  • 电子商务网站建设策划报告wordpress seo教程
  • 网站报价书wap网站开发价格
  • 永久免费ppt下载网站网站推广的作用