宁波网站设计价格/电商sem是什么意思
整体思想是;将用户的数据保存在注册的数据库中,用户登录验证,需要调用数据库信息/如果数据库中没有用户信息,则提示不是系统用户。
如果用户口令输入错误,则提示口令错误,如果错误次数超过设定次数,则强制退出系统。
若登陆成功,提示信息登陆成功,系统启动!
这期间也遇到了些许问题。
比如说 1 定义的错误,不太细心。这些是要坚决杜绝的。
2 字母写错,这些也是要避免的,不然庞大的代码,如何有很多的时间来调试呢
3 要写清楚注释,这是比不可少的。
4 App的引用,注意细节。
下面给出我的错误所在
大家注意看黄色代码,App所代表的路径
下面给出文件的具体路径。看出来有什么不同了么,多写了一个路径。
最后附上登录界面
原文代码如下 :
Option ExplicitConst maxlogtimes As Integer = 3Private Sub cmdcancel_Click()Dim intresult As Integerintresult = MsgBox("你选择了推出系统登录,退出将不能启动管理系统!" & vbCrLf _& "是否真的退出?", vbYesNo, "登录验证")If intresult = vbYes Then EndEnd SubPrivate Function check_password(ByVal username As String, ByVal password As String) As ByteOn Error GoTo gperrorDim objcn As New Connection, objrs As New Recordset, strcn As StringDim strsql As Stringobjcn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source=" & App.Path & "\实例2.mdb"objcn.Openstrsql = "select 口令 from 系统用户 where 用户名='" & username & "'"Set objrs.ActiveConnection = objcnobjrs.Open (strsql)If objrs.EOF Thencheck_password = 0ElseIf password <> Trim(objrs.Fields("口令").Value) Thencheck_password = 1Elsecheck_password = 2End IfEnd Ifobjcn.CloseSet objrs = NothingSet objcn = NothingExit Functiongperror:check_password = 255Set objrs = NothingSet objcn = NothingEnd FunctionPrivate Sub cmdok_Click()Static intlogtimes As Integer '保存用户请求登录次数Dim intchecked As Integer, strname As String, strpassword As Stringintlogtimes = intlogtimes + 1If intlogtimes > maxlogtimes Then'超过允许登录次数,显示提示信息MsgBox "你已经超过允许验证次数!" & vbCr _& "应用程序将结束!", vbCritical, "登录验证"EndElsestrname = Trim(txtusername.Text)strpassword = Trim(txtpassword.Text)'检验用户名和口令的合法性Select Case check_password(strname, strpassword)Case 0MsgBox "<" & strname & _">不是系统用户,请检查用户名输入是否正确!", vbCritical, "登录验证"txtusername.SetFocustxtusername.SelStart = 0txtusername.SelLength = Len(txtusername)Case 1MsgBox "口令错误,请重新输入!", vbCritical, "登录验证"txtpassword = ""txtpassword.SetFocusCase 2Unload MeMsgBox "登录成功,将启动系统程序!", vbInformation, "登录验证"Case ElseMsgBox "登录验证未正常完场!,请重新运行登录程序," & vbCrLfEnd SelectEnd IfEnd Sub