我正在制作一个应用程序,它将验证对 MySQL 服务器的登录,这是使用 完成的ADODB.Connection
,然后如果没有给出错误,则打开另一个 HTA。我试图通过 HTA、VBScript 和辛勤的工作来实现这一点……没有过多的细节,我想捕捉一个错误消息,如果用户输入错误的用户名/密码,就会出现该错误消息。
通常,如果您确实输入了错误的密码或用户名,它会显示一条 HTML 错误消息,看起来不太友好。这就是这段代码试图捕捉并变得更友好的东西。下面的代码段:
Sub MainLogin_click
dim strError
Uname = usertext.Value
Pword = passtext.Value
cstring = "DRIVER={MySQL ODBC 5.2w Driver};SERVER=Localhost;UID=" & Uname _
& ";PWD=" & Pword & ";DATABASE=maindb;"
conn = CreateObject("ADODB.Connection")
On Error Resume Next
conn.Open cstring
Call MakeDSN
If Err.Number <> 0 Then
strError = "LongBow Error" & VbCrLf & " Error Number: " & Err.Number _
& VbCrLf & " Error Source: " & Err.Source _
& VbCrLf & " Error Description: " & Err.Description
MsgBox(strError)
Err.Clear
Else
Set objShell = CreateObject("WScript.Shell")
objShell.Run("bin\LongBowAgent.hta")
Window.close
conn.Close
End If
On Error GoTo 0
End Sub
基本上,当我运行此代码以及整个 HTA 时,要么
- 没有任何反应,按下“登录”按钮时没有任何活动。
或者
- 我得到一个很好的错误框(即使使用正确的用户名/密码)说
Error 424, VBScript runtime error, object Required
。
老实说 - 我已经在这里待了 2 天,并尝试了很多东西。没有一个真正起作用,但是 Google 搜索只能做这么多。
任何帮助和任何建议都会很棒。我不介意在这里尝试完全不同的东西,只要它保持在 HTA 和 VBScript 中。