热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机房收费系统--系统用户管理模块和主窗体的创建(一)

主要实现:1用户登录2主窗体建立3添加用户4修改用户密码系统启动后,将首先出现如下图所示的用户登录窗体,用户首先输入用户名,然后输入密码,如果用

主要实现:

1 用户登录

2主窗体建立

3 添加用户

4 修改用户密码

系统启动后,将首先出现如下图所示的用户登录窗体,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序。

用户登录窗口创建:

登陆界面由一个标签框标示窗体信息;两个标签分别标示用户名和口令;两个文本框接收用户输入的用户名和口令;两个命令按钮控制确定和取消操作。

为窗体定义全局变量OK,用来判断登陆是否成功;定义miCount,用来记载输入密码的次数。代码如下:

Public OK As Boolean '定义布尔型变量判断是否登录成功

Dim IntCount As Integer '定义一个次数变量用来判断验证次数

当用户输入完用户名和密码,单击CmdOk按钮对用户信息进行判断。用户单击按钮触发cmdok的click事件,代码如下:

Private Sub CmdOk_Click()

‘定义记录集对象存放对应用户名的信息

Dim objrs As ADODB.Recordset

’ 定义消息变量用来返回查询信息

Dim Msgtxt As String

‘定义sql查询字符串变量用来存放查询字符串

Dim strsql As String

定义一个记录集对象存放正在值班老师的信息

Dim objrss As ADODB.Recordset

‘初始化模块中的用户名变量用来存储当前用户名

UserName = ""

'用户名不能为空

If Not Testtxt(TxtUser.Text) Then

        MsgBox "用户名不能为空!", vbOKOnly + vbExclamation, "警告"

        TxtUser.Text = ""

        TxtUser.SetFocus

        Exit Sub

Else

         strsql = "select * from User_Info where User_Name = '" & Trim(TxtUser.Text) & "'"

         Set objrs = ExecuteSQL(strsql, Msgtxt)

          If objrs.EOF = True Then

          '用户名不存在

                 MsgBox "用户名不存在!请重新填写!", vbOKOnly + vbExclamation, "警告"

                 TxtUser.Text = ""

                 TxtUser.SetFocus

                 Exit Sub

         Else

'登录成功

                  If Trim(objrs.Fields(1)) = Trim(TxtPassword.Text) Then

                        OK = True

                        Me.Hide

                        UserName = Trim(TxtUser.Text)

                         strsql = "select * from OndutyTeacher_Info"

                      ‘将用户名信息写入正在值班的信息表中

                        Set objrss = ExecuteSQL(strsql, Msgtxt)

                         objrss.AddNew

                         objrss.Fields(1) = Trim(objrs.Fields(0).Value)

                         objrss.Fields(2) = Trim(objrs.Fields(5).Value)

                          objrss.Fields(3) = Trim(objrs.Fields(2).Value)

                           objrss.Fields(4) = Trim(Date)

                        objrss.Fields(5) = Trim(Time)

                        objrss.Fields(6) = Trim(objrs.Fields(4).Value)

                        objrss.Update

                         objrss.Close

                         objrs.Close

                Else

                       '密码输入有误

                         MsgBox "密码输入有误,请重新输入!", vbOKOnly + vbExclamation, "警告"

                        TxtPassword.Text = ""

                        TxtPassword.SetFocus

                        Exit Sub

                End If

       End If

End If

'判断验证次数

IntCount = IntCount + 1

If IntCount = 3 Then

     Me.Hide

End If

Exit Sub

End Sub

clip_image001

用户如果没有输入用户名密码,将出现消息框给予提示。如果输入的用户名在用户表格中没有找到,将提示重新输入用户名,文本档txtUserName将重新获得输入焦点。如果用户输入密码不正确,文本档txtUserName将重新获得输入焦点。用户登录成功,全局变量OK将被赋值为Ture;一旦三次输入密码均不正确,全局变量OK将被赋值为False。公用模块中的Main过程将根据OK的值决定是退出,或者进入系统。如果用户取消登录,单击“取消”按钮,将触发按钮的Click事件;代码如下:

OK=False

me.Hide


推荐阅读
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 在 Windows 10 环境中,通过配置 Visual Studio Code (VSCode) 实现基于 Windows Subsystem for Linux (WSL) 的 C++ 开发,并启用智能代码提示功能。具体步骤包括安装 VSCode 及其相关插件,如 CCIntelliSense、TabNine 和 BracketPairColorizer,确保在 WSL 中顺利进行开发工作。此外,还详细介绍了如何在 Windows 10 中启用和配置 WSL,以实现无缝的跨平台开发体验。 ... [详细]
  • Android ListView 自定义 CheckBox 实现列表项多选功能详解
    本文详细介绍了在Android开发中如何在ListView的每一行添加CheckBox,以实现列表项的多选功能。用户不仅可以通过点击复选框来选择项目,还可以通过点击列表的任意一行来完成选中操作,提升了用户体验和操作便捷性。同时,文章还探讨了相关的事件处理机制和布局优化技巧,帮助开发者更好地实现这一功能。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 本文探讨了如何在C#应用程序中通过选择ComboBox项从MySQL数据库中检索数据值。具体介绍了在事件处理方法 `comboBox2_SelectedIndexChanged` 中可能出现的常见错误,并提供了详细的解决方案和优化建议,以确保数据能够正确且高效地从数据库中读取并显示在界面上。此外,还讨论了连接字符串的配置、SQL查询语句的编写以及异常处理的最佳实践,帮助开发者避免常见的陷阱并提高代码的健壮性。 ... [详细]
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • 本文探讨了如何在C#中实现USB条形码扫描仪的数据读取,并自动过滤掉键盘输入,即使不知道设备的供应商ID(VID)和产品ID(PID)。通过详细的技术指导和代码示例,展示了如何高效地处理条形码数据,确保系统能够准确识别并忽略来自键盘的干扰信号。该方法适用于多种USB条形码扫描仪,无需额外配置设备信息。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
author-avatar
tuigq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有