用vb做系统的一个登录界面,要求用户输入的用户信息与数据库中的信息

用vb做系统的一个登录界面,要求用户输入的用户信息与数据库中的信息,第1张

创建一个窗体,然后方式三个输入控件,下面函数中的变量就是要输入,其中sDBName可以不需输入,默认为master:SQLServer服务器名用户名密码Public Function MSSQLServer(ByVal sDBName As String) As String MSSQLServer = "Driver={SQL Server};" & _ "Server=" & Trim(sServerName) & ";" & _ "Database=" & Trim(sDBName) & ";" & _ "Uid=" & Trim(sUserName) & ";" & _ "Pwd=" & Trim(sPassWord) & ";"End Function根据上面输入的值,构造谅解字符串点击按钮链接后执行:PrivateCnAsADODBConnectionCnConnectionString=MSSQLServer(sDatabase)如果输入正确就能链接数据库之后就可以进行其他数据库 *** 作

Option Explicit

Private Function Selectsql(SQL As String) As ADODBRecordset '返回ADODBRecordset对象

Dim ConnStr As String

Dim Conn As ADODBConnection

Dim rs As ADODBRecord

/在模块里编写(新建模块)

Public comm As New ADODBCommand

Public conn As New ADODBConnection

Public uname As String

Public pwd As String

Public ulevel As Integer

Sub main()

connConnectionString = "Provider=SQLOLEDB1;Persist Security Info=False;User ID=sa;Initial Catalog=wow;Data Source="

connOpen

Form1Show

End Sub

'判断登陆是否成功(封装函数)

Public Function isLogin(uname, pwd, ulevel) As Boolean

Dim flag As Boolean

commActiveConnection = conn

commCommandType = adCmdStoredProc

commCommandText = "isLogin"

commParameters(1)Type = adVarChar

commParameters(1)Size = 50

commParameters(1)Direction = adParamInput

commParameters(1)Value = uname

commParameters(2)Type = adVarChar

commParameters(2)Size = 50

commParameters(2)Direction = adParamInput

commParameters(2)Value = pwd

commParameters(3)Type = adInteger

commParameters(3)Size = 4

commParameters(3)Direction = adParamInput

commParameters(3)Value = ulevel

commParameters(4)Type = adInteger

commParameters(4)Size = 4

commParameters(4)Direction = adParamOutput

commExecute

If commParameters(4)Value > 0 Then

flag = True

Else

flag = False

End If

isLogin = flag

End Function

/在登陆窗体中调用封装函数实现登陆判断

Private Sub Command1_Click()

Dim uname As String

Dim pwd As String

Dim ulevel As Integer

uname = Text1Text

pwd = Text2Text

If Combo1Text = "管理员" Then

ulevel = 1

Else

ulevel = 0

End If

If isLogin(uname, pwd, ulevel) Then

MsgBox "登陆成功", vbOKOnly, "提示"

Form2Show

Unload Me

Else

MsgBox "登录失败", vbOKOnly, "提示"

End If

End Sub

Private Sub Command2_Click()

Text1Text = Clear

Text2Text = Clear

Text1SetFocus

End Sub

Private Sub Command3_Click()

Unload Me

End Sub

Private Sub Command4_Click()

Form3Show

Unload Me

End Sub

Private Sub Form_Load()

Combo1AddItem "管理员"

Combo1AddItem "用户"

End Sub

/在MYSQL企业管理器中编写存储过程:(选中以下编写的内容并执行即可生成存储过程)

create proc isLogin @uname varchar(50), @pwd varchar(50),@ulevel int, @flag int output

as

declare @count int

select @count=count() from [user] where

uname=@uname and pwd=@pwd and ulevel=@ulevel

if @count>0

set @flag=1

else

set @flag=0

create proc AddUser @uname

给分把

举例说明

cnn

是数据库连接

rst

是记录集

sql

是sql语句

sql="select

username,password

from

表名"

rstopen

sql,cnn,adOpenKeyset,

adLockReadOnly,

adCmdText

if

not

rsteof

then

''如果有多条就循环

用户名=rstfields("username")

密码=rstfields("password")

end

if

rstclose

set

rst=nothing

Private Sub Form_Load()        '此段代码的主要作用是当窗体打开时就连接数据库

    Dim conn As New ADODBConnection

    Dim connectionstring As String

    connectionstring = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\DATEmdb;Persist Security Info=False"          '数据库路径

    connOpen connectionstring

End Sub

Private Sub Command1_Click()

Static n As Integer

If n >= 3 Then

    MsgBox "输入密码次数大于3次,不允许继续登陆"

    End

End If

Set conn = New ADODBConnection

connOpen "Provider=MicrosoftJetOLEDB40;Persist Security Info=False;Data Source=DATEmdb;Jet OLEDB:Database Password="

Dim sql As String

Dim rs_login As New ADODBRecordset

If Trim(Text1Text) = "" Then               '检测用户名正确与否

    MsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "错误"

    Text1SetFocus

Else

    sql = "select  from 验证 WHERE 用户名='" & Trim(Text1Text) & "'"

    rs_loginOpen sql, conn, adOpenKeyset, adLockPessimistic

    If rs_loginEOF = True Then

        MsgBox "用户名不存在,请重新输入!", vbOKOnly + vbExclamation, "错误"

        Text1 = ""

        Text1SetFocus

    Else                                        '检测密码正确与否

        If Trim(rs_loginFields(2)) = Trim(Text2) Then

            rs_loginClose

            Unload Me

            Form2Show

        Else

            n = n + 1

            MsgBox "第" & n & "次密码错误,请重新输入!", vbOKOnly + vbExclamation, "错误"

            Text2SetFocus

        End If

    End If

End If

End Sub

Private Sub Command2_Click()

    MsgBox "您已成功退出!", vbOKOnly + vbExclamation, "提示"

    Unload Me

End Sub

以上就是关于用vb做系统的一个登录界面,要求用户输入的用户信息与数据库中的信息全部的内容,包括:用vb做系统的一个登录界面,要求用户输入的用户信息与数据库中的信息、如何用VB连接SQL数据库做登录、【80分悬赏】怎么用VB连接MYSQL数据库来编写登陆界面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9780336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存