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

系统模拟登陆界面二

整体思想是;将用户的数据保存在注册的数据库中,用户登录验证,需要调用数据库信息如果数据库中没有用户信息,则提示不是系统用户。如果用户口令输入错误,则提示口令错误,如果错误次数超过设定次数,则强制退


整体思想是;将用户的数据保存在注册的数据库中,用户登录验证,需要调用数据库信息/如果数据库中没有用户信息,则提示不是系统用户。

 

如果用户口令输入错误,则提示口令错误,如果错误次数超过设定次数,则强制退出系统。

 

 

若登陆成功,提示信息登陆成功,系统启动!

 

这期间也遇到了些许问题。

 

比如说  1 定义的错误,不太细心。这些是要坚决杜绝的。

       2 字母写错,这些也是要避免的,不然庞大的代码,如何有很多的时间来调试呢

       3  要写清楚注释,这是比不可少的。

       4 App的引用,注意细节。

下面给出我的错误所在

大家注意看黄色代码,App所代表的路径

下面给出文件的具体路径。看出来有什么不同了么,多写了一个路径。

 

最后附上登录界面

 

原文代码如下 :

Option Explicit

Const maxlogtimes As Integer = 3


Private Sub cmdcancel_Click()

Dim intresult As Integer

intresult = MsgBox("你选择了推出系统登录,退出将不能启动管理系统!" & vbCrLf _
& "是否真的退出?", vbYesNo, "登录验证")

If intresult = vbYes Then End


End Sub


Private Function check_password(ByVal username As String, ByVal password As String) As Byte


On Error GoTo gperror

Dim objcn As New Connection, objrs As New Recordset, strcn As String

Dim strsql As String

objcn.COnnectionString= "Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source=" & App.Path & "\实例2.mdb"

objcn.Open

strsql = "select 口令 from 系统用户 where 用户名='" & username & "'"

Set objrs.ActiveCOnnection= objcn

objrs.Open (strsql)

If objrs.EOF Then

check_password = 0

Else

If password <> Trim(objrs.Fields("口令").Value) Then

check_password = 1

Else

check_password = 2

End If

End If

objcn.Close


Set objrs = Nothing

Set objcn = Nothing

Exit Function

gperror:

check_password = 255

Set objrs = Nothing

Set objcn = Nothing

End Function



Private Sub cmdok_Click()

Static intlogtimes As Integer '保存用户请求登录次数

Dim intchecked As Integer, strname As String, strpassword As String

intlogtimes = intlogtimes + 1

If intlogtimes > maxlogtimes Then

'超过允许登录次数,显示提示信息

MsgBox "你已经超过允许验证次数!" & vbCr _
& "应用程序将结束!", vbCritical, "登录验证"

End


Else

strname = Trim(txtusername.Text)

strpassword = Trim(txtpassword.Text)

'检验用户名和口令的合法性

Select Case check_password(strname, strpassword)


Case 0

MsgBox "<" & strname & _
">不是系统用户,请检查用户名输入是否正确!", vbCritical, "登录验证"

txtusername.SetFocus

txtusername.SelStart = 0

txtusername.SelLength = Len(txtusername)

Case 1


MsgBox "口令错误,请重新输入!", vbCritical, "登录验证"

txtpassword = ""

txtpassword.SetFocus

Case 2

Unload Me

MsgBox "登录成功,将启动系统程序!", vbInformation, "登录验证"



Case Else

MsgBox "登录验证未正常完场!,请重新运行登录程序," & vbCrLf


End Select


End If

End Sub




 


推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
author-avatar
拍友2602924913
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有