LabVIEW基于机器视觉的实验室设备管理系统(3)
目录
上一期我们完成了欢迎登录和信息查询的功能,那么我们这一期就来实现一下密码修改。
行动计划
开始密码修改之前,我们老规矩,来制定一下计划。寻常的修改密码需要具备哪几个要素呢
- 输入自己的账号
- 确认用户数据库里存在这个账号
- 输入自己的旧密码
- 需要判断是否正确
- 输入新密码
- 再次输入新密码
- 需要判断两次输入的新密码是否相同
- 一个确认修改的按键
- 一个返回的按键
如下图所示

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


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


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

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


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


我们接下来就转到条件结构的确认修改部分
确认id
根据前面制定好的计划,我们首先要完成的就是确认用户数据库里有我们输入的这个id
我们可以把我们输入的id放到数据库中去查询,如果查到了这个id,那么我们输入的这个id就是正确的,如果查询为空的话,那么这个id就是错误的啦。

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

最后我们用一个复合运算控件,把这三个判断的最终值“与”运算一下 ,这样就可以完成这三个判断都必须正确才能修改密码啦。
最后我们把复合运算的值连接一个条件结构,如果值为假的话,我们可以给用户一点提示啦,并且把我们输入的id等清空。

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

修改用户数据库中的密码
通过前面的一系列判断,我们这里就可以保证输入的所有值都是正确的啦,那我们修改密码的时候就可以直接凭借我们输入的id来确认修改的地方。
我们这里利用MySQL语句update来修改,这个是可以具有更新功能的,也就是可以覆盖之前所有信息,这样就不用我们删除之前的密码啦。

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

LabVIEW基于机器视觉的实验室设备管理系统(3)的更多相关文章
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
- 基于ArcEngine的影像数据管理系统研制
基于ArcEngine的影像数据管理系统研制 如果批处理,速度很慢,效率低. 详情如下: 分成很多小块的影像数据,要达到连续显示的效果,并导入ArcSDE for SQL Server中以方便管理.在 ...
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring ...
- 基于SSH实现员工管理系统之框架整合篇
本篇文章来源于:https://blog.csdn.net/zhang_ling_yun/article/details/77803178 以下内容来自慕课网的课程:基于SSH实现员工管理系统之框架整 ...
- 原创:XXX公司-基于SAP的库存管理系统解决方案
XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识: 当前版本: V0.3 作 者 ...
- 基于UML的毕业设计管理系统的分析与设计
基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:“我们要写一个关于UML的专著”,一句话:“一个完整的系统贯穿整个UML的知识”:我:“ ...
- 11 基于django的图书管理系统 多表
1.需求 作业需求:1.列出图书列表.出版社列表.作者列表2.点击作者,会列出其出版的图书列表3.点击出版社,会列出旗下图书列表4.可以创建.修改.删除 图书.作者.出版社 踩分点:1.满足需求1,2 ...
- 基于S2SH开发病房管理系统的设计与实现 源码
基于S2SH开发病房管理系统的设计与实现: 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图: 此源码经 ...
- 基于Web的实验室管理系统技术简要报告
基于Web的实验室管理系统技术简要报告 Copyright 朱向洋 Sunsea ALL Right Reserved 一.网站架构 该网站使用C#语言,利用SQL Server2008数据库,采用V ...
- 基于SSM的健身房管理系统
基于SSM的健身房管理系统 The project was made in 2020-05-05~2020-05-10 谨以此片博文记录下我的第一个Java小Demo 项目展示 用户登录页 用户注册页 ...
随机推荐
- 三万字盘点Spring 9大核心基础功能
大家好,我是三友~~ 今天来跟大家聊一聊Spring的9大核心基础功能. 其实最近有小伙伴私信问我怎么不写文章了,催更来了 其实我不是不写,而是一直在写这篇文章,只不过令我没想到的是,从前期的选题.准 ...
- auto-GPT部署
Auto-GPT 是一个实验性开源应用程序,其作者在3月31日将其发布在Github上.它以GPT-4 作为驱动,可以自主做出决定以实现目标,无需用户干预.AutoGPT的地址:https://git ...
- Java基础实现加油站圈存机系统
加油站圈存机系统 对于加油卡而言,圈存是将用户账户中已存入的资金划转到所持的加油卡上后方可使用.通俗一点的说法就是您在网点把钱存入主卡中,再分配到下面的副卡,由于副卡都在使用车辆的驾驶员手中,需要 ...
- 设置服务账号Service Accounts(sa)的token不挂载到pod
目录 一.系统环境 二.前言 三.Service Accounts(sa)简介 四.在pod里设置sa的token不挂载到pod 五.在sa里设置sa对应的token不挂载到pod上 六.总结 一.系 ...
- 你能看到这个汉字么“ ” ?关于Unicode的私人使用区(PUA) 和浏览器端显示处理
如果你现在使用的是chrome查看那么你是看不到我标题中的汉字的,显示为一个小方框,但是你使用edge查看的话,这个字就能正常的显示出来,不信你试试! 本故事源于我在做数据过程中遇到Unicode编码 ...
- Jquery 将 JSON 列表的 某个属性值,添加到数组中,并判断一个值,在不在数据中
jquery 将 JSON 列表的 某个属性值,添加到数组中 如果你有一个JSON列表,并且想要将每个对象的某个属性值添加到数组中,你可以使用jQuery的$.each()函数来遍历JSON列表,并获 ...
- AnyLabeling标定及转化成labelmaskID
一.标定工具 在进行分割任务时,对分割工具进行预研和验证,现在AI辅助标定已经成熟,目标则是利用sam进行辅助标定.调研的三款标定工具情况如下: labelme:可以加载sam,但是在进行辅助标定后, ...
- mysql 管理员常用命令
1.创建用户 create user admin@localhost identified by 'password'; 2.赋权 grant privileges ON database.table ...
- burpsuite验证码爆破后台夺权
目录 准备工作 爆破 同时爆破用户名密码和验证码 筛查爆破结果的成功输出 创建新用户远程桌面连接 准备工作 安装python 安装muggle_ocr库 运行xp_CAPTCHA服务端 burpsui ...
- vue指令 v-if
1.字符'0'也显示为真 <div v-if="zeroStr">明月几时有,把酒问青天.</div> data() { zeroStr: '0' } 运行 ...