⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmlogin.frm

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmLogin 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "用户登录"
   ClientHeight    =   3165
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   4815
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   3165
   ScaleWidth      =   4815
   StartUpPosition =   2  '屏幕中心
   Begin VB.Frame fr 
      Height          =   3225
      Left            =   0
      TabIndex        =   0
      Top             =   -60
      Width           =   4815
      Begin VB.PictureBox pic 
         Appearance      =   0  'Flat
         BackColor       =   &H00808080&
         BorderStyle     =   0  'None
         ForeColor       =   &H80000008&
         Height          =   825
         Index           =   0
         Left            =   1300
         ScaleHeight     =   825
         ScaleWidth      =   3495
         TabIndex        =   10
         Top             =   90
         Width           =   3495
         Begin VB.Label lbl 
            AutoSize        =   -1  'True
            BackStyle       =   0  'Transparent
            Caption         =   "企业内部业务联系系统 1.0"
            BeginProperty Font 
               Name            =   "宋体"
               Size            =   10.5
               Charset         =   134
               Weight          =   700
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            ForeColor       =   &H00FFFFFF&
            Height          =   210
            Index           =   2
            Left            =   600
            TabIndex        =   14
            Top             =   450
            Width           =   2730
         End
         Begin VB.Label lbl 
            AutoSize        =   -1  'True
            BackStyle       =   0  'Transparent
            Caption         =   "企业内部业务联系系统 1.0"
            BeginProperty Font 
               Name            =   "宋体"
               Size            =   10.5
               Charset         =   134
               Weight          =   700
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   210
            Index           =   3
            Left            =   630
            TabIndex        =   13
            Top             =   480
            Width           =   2730
         End
         Begin VB.Label lbl 
            AutoSize        =   -1  'True
            BackStyle       =   0  'Transparent
            Caption         =   "欢迎使用"
            BeginProperty Font 
               Name            =   "宋体"
               Size            =   10.5
               Charset         =   134
               Weight          =   700
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            ForeColor       =   &H00FFFFFF&
            Height          =   210
            Index           =   0
            Left            =   180
            TabIndex        =   12
            Top             =   120
            Width           =   900
         End
         Begin VB.Label lbl 
            AutoSize        =   -1  'True
            BackStyle       =   0  'Transparent
            Caption         =   "欢迎使用"
            BeginProperty Font 
               Name            =   "宋体"
               Size            =   10.5
               Charset         =   134
               Weight          =   700
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   210
            Index           =   1
            Left            =   210
            TabIndex        =   11
            Top             =   150
            Width           =   900
         End
      End
      Begin VB.CommandButton cmdExit 
         Caption         =   "退出(&E)"
         Height          =   375
         Left            =   3390
         TabIndex        =   5
         Top             =   2670
         Width           =   1155
      End
      Begin VB.CommandButton cmdLogin 
         Caption         =   "登录(&O)"
         Default         =   -1  'True
         Height          =   375
         Left            =   2160
         TabIndex        =   4
         Top             =   2670
         Width           =   1155
      End
      Begin VB.TextBox txt 
         Height          =   270
         IMEMode         =   3  'DISABLE
         Index           =   2
         Left            =   2610
         PasswordChar    =   "*"
         TabIndex        =   3
         Text            =   "Admin123!!!"
         Top             =   2130
         Width           =   1995
      End
      Begin VB.TextBox txt 
         Height          =   270
         Index           =   1
         Left            =   2610
         TabIndex        =   2
         Text            =   "Admin"
         Top             =   1740
         Width           =   1995
      End
      Begin VB.TextBox txt 
         Height          =   270
         Index           =   0
         Left            =   2610
         TabIndex        =   1
         Text            =   "127.0.0.1"
         Top             =   1350
         Width           =   1995
      End
      Begin VB.PictureBox pic 
         Appearance      =   0  'Flat
         BackColor       =   &H80000005&
         BorderStyle     =   0  'None
         ForeColor       =   &H80000008&
         Height          =   3105
         Index           =   1
         Left            =   30
         Picture         =   "frmLogin.frx":0000
         ScaleHeight     =   3105
         ScaleWidth      =   1275
         TabIndex        =   6
         Top             =   90
         Width           =   1275
      End
      Begin VB.Label lbl 
         AutoSize        =   -1  'True
         Caption         =   "登录密码:"
         Height          =   180
         Index           =   6
         Left            =   1530
         TabIndex        =   9
         Top             =   2190
         Width           =   900
      End
      Begin VB.Label lbl 
         AutoSize        =   -1  'True
         Caption         =   "用户名:"
         Height          =   180
         Index           =   5
         Left            =   1530
         TabIndex        =   8
         Top             =   1800
         Width           =   720
      End
      Begin VB.Label lbl 
         AutoSize        =   -1  'True
         Caption         =   "服务器地址:"
         Height          =   180
         Index           =   4
         Left            =   1530
         TabIndex        =   7
         Top             =   1410
         Width           =   1080
      End
   End
End
Attribute VB_Name = "frmLogin"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'****************************************
'*      企业内部业务联系系统 1.0版      *
'*                                      *
'*  作者:郭文云(云南电信昭通分公司)    *
'*  日期:2004年8月                     *
'*  版权:Terrificsoft                  *
'*          版权所有  侵权必究          *
'****************************************

'为使用ADO方式连接数据库,先在“工程”---“引用(N)...”里添加引用"Microsoft ActiveX Data Objects 2.6 Library"

Option Explicit

'用户首次登录和重新登录
Private Sub cmdLogin_Click()
  '连接到数据库并验证用户身份
  If ConenctToDatabase And VerifyUser Then
  '正在首次登录
  On Error Resume Next
  If LoginStat = 0 Then
     frmMain.Show
     DoEvents
     Unload Me
  '正在重新登录
  ElseIf LoginStat = 1 Then
     Dim i As Long
     '卸载已经加载的窗体
     For i = Forms.Count - 1 To 0 Step -1
         Unload Forms(i)
     Next i
     frmMain.Show
     DoEvents
  End If
  '登录完成
  LoginStat = 2
  End If
End Sub

'连接到数据库
Private Function ConenctToDatabase() As Boolean
  On Error GoTo ErrorHandler
  Dim DBName As String, ServerAdd As String, UserName As String, UserPwd As String
  '设置连接信息字符串的参数
  ServerAdd = txt(0)
  DBName = "InfoProcSystem"
  UserName = "sa"
  UserPwd = ""
  '连接数据库
  Set AdoCon = New ADODB.Connection
  AdoCon.ConnectionTimeout = 10
  AdoCon.CursorLocation = adUseServer
  AdoCon.ConnectionString = "uid=" & UserName & ";pwd=" & UserPwd & _
                            ";driver={SQL Server};server=" & ServerAdd & _
                            ";database=" & DBName & ";dsn=''"
  AdoCon.Open
  '返回值
  ConenctToDatabase = True
  Exit Function
ErrorHandler:
  MsgBox "连接到数据库出错", vbCritical, "出现错误"
  Exit Function
End Function

'验证用户身份
Private Function VerifyUser() As Boolean
  On Error GoTo ErrorHandler
  Dim strSQL As String
  '构建检索用户信息的查询语句
  strSQL = "SELECT * FROM tblUser "
  strSQL = strSQL & "WHERE UserName='" & txt(1) & "' AND UserPwd='" & txt(2) & "'"
  '获取记录
  Set RsAdo = New ADODB.Recordset
  RsAdo.Open strSQL, AdoCon, adOpenStatic, adLockReadOnly
  '如果结果集为空,则用户身份非法
  If RsAdo.EOF Then
     MsgBox "用户名或密码错误,请重新输入!", vbCritical, "用户登录"
     txt(1).SetFocus
     Exit Function
  End If
  '如果结果集不为空,则用户合法,
  '此时获取与用户名对应的用户信息,用来控制权限
  UserDept = RsAdo("DeptUserIn")
  UserName = RsAdo("TrueName")
  CloseRsAdo
  VerifyUser = True
  Exit Function
ErrorHandler:
  MsgBox "验证用户信息出错", vbCritical, "出现错误"
  Exit Function
End Function

Private Sub Form_Load()
  If App.PrevInstance Then End                   '如果程序已经运行,那么则结束以使该程序只能运行一个实例
End Sub

Private Sub Form_Unload(Cancel As Integer)
  On Error Resume Next
  '用户首次登录时才提示是否退出
  If Forms.Count = 1 Then
     If MsgBox("您确定要退出本系统吗?", vbInformation + vbYesNo, "退出系统") = vbYes Then
        AdoCon.Close
        End
     Else: Cancel = 1   '取消卸载窗体
     End If
  End If
End Sub

'文本框被激活时,选定所有文本
Private Sub txt_GotFocus(Index As Integer)
  txt(Index).SelStart = 0                 '选定文本块的起始位置(为该文本的第0个位置)
  txt(Index).SelLength = Len(txt(Index))  '所选的字符个数(为txt(Index)的长度)
End Sub
                                                 
Private Sub cmdExit_Click()
  Unload Me
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -