机房收费系统——登录

一、系统登录界面:

二、思维:

       1、窗体加载:(1)获取计算机的机器名:Private Declare Function GetComputerName Lib "kernel32" Alias"GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

                                   DimStrT As String * 255

                       GetComputerName StrT, 255

                             Print StrT

  '计算机的机器名
        mrc1.Fields(6) = VBA.Environ("computername")


                               (2)获取用户名的函数(GetUserName)Private Declare FunctionGetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVallpBuffer As String, nSize As Long) As Long

                sBuffer =Space$(255) '取出255个空白字符串

        lSize = Len(sBuffer)

        Call GetUserName(sBuffer, lSize) '读取用户名到sBuffer中,判断它的长度

        If lSize > 0 Then

                 txtusername.Text = "admin" '窗体加载时文本框默认为管理员admin

                Else

                txtusername = vbNullString  '否则为空字符串

        End If

应用两个API函数

2、登录按钮:用户名和密码的输入情况、管理权限和添加值班信息到值班表中、设置登录次数。

3、推出按钮:推出系统、提示对话框

三、模块部分(连接数据库)

       1、启动窗体sub main过程

       2、与数据库的连接(远程连接,创建数据源连接)

       'Connectstring= "FileDSN=charge.dsn;UID=sa;PWD=123456"  ‘本地服务器

Connectstring="provider=sqloledb;server=192.168.24.232;UID=sa;PWD=123456;database=charge"       远程连接

       3、定义函数ExecuteSQL的使用

Public Function ExecuteSQL(ByVal SQL As String, MsgstringAs String) As ADODB.Recordset

        Dim cnn AsADODB.Connection

        Dim rst AsADODB.Recordset

        Dim sTokens() As String

    On Error GoTo ExecuteSQL_Error

    sTokens =Split(SQL) '分段,以指定字符分隔符,分离出若干个子字符串,并保存在一个一维数组中

    Set cnn =New ADODB.Connection

    cnn.OpenConnectstring

IfInStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then            'Select语句

     cnn.Execute SQL   '数据量不大时,可以在连接上,直接执行SQL语句

      Msgstring= sTokens(0) & " query successful"

      '虽然MsgString不是返回值,但传递方式是ByRef,实参地址和这个地址相同

Else                                                                'Select语句

      Set rst =New ADODB.Recordset

      rst.OpenTrim$(SQL), cnn, adOpenKeyset, adLockOptimistic

      '得到临时表,游标指向第一条记录

      'getRecordCount,

      SetExecuteSQL = rst      '返回记录集对象

      Msgstring= "查询到"& rst.RecordCount & _

         " 条记录 "

   End If

ExecuteSQL_Exit:

    Set rst =Nothing

    Set cnn =Nothing

    Exit Function

ExecuteSQL_Error:

       Msgstring = "查询错误:"& _

           err.Description

            Resume ExecuteSQL_Exit

End Function

登录窗体主要是连接数据库,我们可以直接连接服务器IP地址,但是在没网的情况下就不能连接上服务器了,在本地的服务器上可以创建数据源连接,适合自己的情况选择连接方式。

你可能感兴趣的:(机房收费系统——登录)