目录

行动计划

创建用户信息数据库

后面板连线

初始化

确认修改

确认id

判断旧密码是否正确

判断两次输入的新密码是否相同

修改用户数据库中的密码

结尾

效果演示


上一期我们完成了欢迎登录和信息查询的功能,那么我们这一期就来实现一下密码修改。

行动计划

开始密码修改之前,我们老规矩,来制定一下计划。寻常的修改密码需要具备哪几个要素呢

  • 输入自己的账号
  1. 确认用户数据库里存在这个账号
  • 输入自己的旧密码
  1. 需要判断是否正确
  • 输入新密码
  • 再次输入新密码
  1. 需要判断两次输入的新密码是否相同
  • 一个确认修改的按键
  • 一个返回的按键

如下图所示

创建用户信息数据库

计划设计好之后,我们就先来创建一个存储用户信息的数据库吧,总不能把实验室设备的信息和用户的信息放在一个数据库里吧。那么打开我们的Navicat for MySQL,右键左边的空白部分——新建数据库——按下图选择。

然后我们来新建一个表,用这个表来存储我们用户的信息,既然是存储用户信息的肯定是需要有id、密码、姓名等啦。双击我们创建的数据库——右键表——点击新建表——如第二张图。

建立好表之后,我们可以自己先把一个用户的信息输入进去,以便后面测试密码修改的功能。

后面板连线

初始化

老规矩,我们先来初始化一下,我们这次对四个字符串输入控件初始化,一样的是在While循环外面。然后对我们上一期制作的枚举变量编辑一下项,因为我们这一期的功能里多加入了两个按键。不过这次的退出(返回)按键可以不加,和上一期的返回按键整合到一起就可以啦。如下。

确认修改

枚举变量编辑好了之后,我们就可以在条件结构中右击——在后面添加分支,然后就可以在条件结构中看到多了确认修改的部分。不过也别忘了我们的事件结构也需要更新呀。

我们接下来就转到条件结构的确认修改部分

确认id

根据前面制定好的计划,我们首先要完成的就是确认用户数据库里有我们输入的这个id

我们可以把我们输入的id放到数据库中去查询,如果查到了这个id,那么我们输入的这个id就是正确的,如果查询为空的话,那么这个id就是错误的啦。

判断旧密码是否正确

判断旧密码是否正确也是相同的操作,利用我们输入的id去查询这个id匹配的密码,如果查出来和我们输入的旧密码相同,那么就是正确的。如果查出来不相同,那么就是错误的啦。当然,我们还可以多加一个判断,就是判断id不为空,就是说我们输入的id不能为空值。

最后我们用一个复合运算控件,把这三个判断的最终值“与”运算一下 ,这样就可以完成这三个判断都必须正确才能修改密码啦。

最后我们把复合运算的值连接一个条件结构,如果值为假的话,我们可以给用户一点提示啦,并且把我们输入的id等清空。

判断两次输入的新密码是否相同

我们复合运算的值如果为真的话,就可以进入下一步判断啦—— 判断两次输入的新密码是否相同。我们在后面又可以连接一个条件结构,如果不相同,就可以像我们之前的操作一样,给用户一点提示,并且清零一些控件。但是如果为真的话,那我们就可以开始修改用户数据库中的密码啦。

修改用户数据库中的密码

通过前面的一系列判断,我们这里就可以保证输入的所有值都是正确的啦,那我们修改密码的时候就可以直接凭借我们输入的id来确认修改的地方。

我们这里利用MySQL语句update来修改,这个是可以具有更新功能的,也就是可以覆盖之前所有信息,这样就不用我们删除之前的密码啦。

结尾

结尾部分我们就需要这个程序回到默认状态啦,并且我们这里还可以初始化一下,以防数据堆积。

LabVIEW基于机器视觉的实验室设备管理系统(3)的更多相关文章

  1. easyconf——基于AugularJS的配置管理系统开发框架

    目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...

  2. 基于ArcEngine的影像数据管理系统研制

    基于ArcEngine的影像数据管理系统研制 如果批处理,速度很慢,效率低. 详情如下: 分成很多小块的影像数据,要达到连续显示的效果,并导入ArcSDE for SQL Server中以方便管理.在 ...

  3. 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)

    基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring  ...

  4. 基于SSH实现员工管理系统之框架整合篇

    本篇文章来源于:https://blog.csdn.net/zhang_ling_yun/article/details/77803178 以下内容来自慕课网的课程:基于SSH实现员工管理系统之框架整 ...

  5. 原创:XXX公司-基于SAP的库存管理系统解决方案

    XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识:   当前版本: V0.3 作 者 ...

  6. 基于UML的毕业设计管理系统的分析与设计

    基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:“我们要写一个关于UML的专著”,一句话:“一个完整的系统贯穿整个UML的知识”:我:“ ...

  7. 11 基于django的图书管理系统 多表

    1.需求 作业需求:1.列出图书列表.出版社列表.作者列表2.点击作者,会列出其出版的图书列表3.点击出版社,会列出旗下图书列表4.可以创建.修改.删除 图书.作者.出版社 踩分点:1.满足需求1,2 ...

  8. 基于S2SH开发病房管理系统的设计与实现 源码

    基于S2SH开发病房管理系统的设计与实现: 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图:       此源码经 ...

  9. 基于Web的实验室管理系统技术简要报告

    基于Web的实验室管理系统技术简要报告 Copyright 朱向洋 Sunsea ALL Right Reserved 一.网站架构 该网站使用C#语言,利用SQL Server2008数据库,采用V ...

  10. 基于SSM的健身房管理系统

    基于SSM的健身房管理系统 The project was made in 2020-05-05~2020-05-10 谨以此片博文记录下我的第一个Java小Demo 项目展示 用户登录页 用户注册页 ...

随机推荐

  1. word中查找替换不能使用 解决方案

    打开查找,然后点更多,最下面点不限定格式

  2. 王道oj/problem13(用递归数楼梯)

    网址:http://oj.lgwenda.com/problem/13 思路:用递归写step(int n):return step(n-1)+step(n-2); 停止条件是:n=1为1:n=2为2 ...

  3. MQ消息队列篇:三大MQ产品的必备面试种子题

    MQ有什么用? MQ(消息队列)是一种FIFO(先进先出)的数据结构,主要用于实现异步通信.削峰平谷和解耦等功能.它通过将生产者生成的消息发送到队列中,然后由消费者进行消费.这样,生产者和消费者之间就 ...

  4. Cilium系列-13-启用XDP加速及Cilium性能调优总结

    系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...

  5. DELPHI应用EXCEL(1)

    在介绍使用delphi控制excel之前前,我们首先需要了解关于EXCEL的几个基本概念:EXCEL应用程序.工作薄(book).工作表(sheet)以及单元格(CELLS): 首先,我们是打开exc ...

  6. [gin]数据解析和绑定

    前言 go version: 1.18 本文主要包含JSON.Form.Uri.XML的数据解析与绑定. JSON数据解析与绑定 go代码 package main import ( "ne ...

  7. Windows查找监听端口对应的进程及其路径

    前言 假设扫描到1234端口存在可疑进程,需要找到该监听端口对应的进程及其进程文件的全路径,判断是否为可疑程序. 步骤 启动命令行:按win + r键,然后输入"cmd" 查看端口 ...

  8. quarkus依赖注入之十三:其他重要知识点大串讲(终篇)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...

  9. Html+JavaScript实现手写签名

    前言 Hello各位,本葡萄又来啦,今天遇到的场景是这样的:在日常业务流程中,经常需要某一流程环节中相关责任人员进行审批签字,早期许多公司为了省事就直接会把这位负责人的签名以键盘打字(楷体)的形式打印 ...

  10. java学习阶段一

    扩展名默认没有打开 FIRST APP public class HelloWorld { public static void main (String[] args){ System.out.pr ...