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

📄 clsuser.cls

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsUser"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit

'保持属性值的局部变量
Private mvarID As Long              '用户编号
Private mvarUserName As String      '用户名
Private mvarPassword As String      '密码
Private mvarTrueName As String      '真实姓名
Private mvarLastLoginTime As Date   '上次登录时间
Private mvarUserType As Integer     '用户类型

Public Property Let LastLoginTime(ByVal vData As Date)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.LastLoginTime = 5
    mvarLastLoginTime = vData
End Property

Public Property Get LastLoginTime() As Date
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.LastLoginTime
    LastLoginTime = mvarLastLoginTime
End Property

Public Property Let UserType(ByVal vData As Integer)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.UserType = 5
    mvarUserType = vData
End Property

Public Property Get UserType() As Integer
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.UserType
    UserType = mvarUserType
End Property

Public Property Let TrueName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TrueName = 5
    mvarTrueName = vData
End Property

Public Property Get TrueName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TrueName
    TrueName = mvarTrueName
End Property

Public Property Let Password(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.Password = 5
    mvarPassword = vData
End Property

Public Property Get Password() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.Password
    Password = mvarPassword
End Property

Public Property Let UserName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.UserName = 5
    mvarUserName = vData
End Property

Public Property Get UserName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.UserName
    UserName = mvarUserName
End Property

Public Property Let ID(ByVal vData As Long)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.ID = 5
    mvarID = vData
End Property

Public Property Get ID() As Long
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.ID
    ID = mvarID
End Property

'添加用户信息
Public Function AddNew() As gxcAddNew
  On Error Resume Next

  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  
  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "UserAddNew"
  
  '指定命令对象的参数
  cmd.Parameters("@UserName") = RealString(Me.UserName)
  cmd.Parameters("@Password") = RealString(Me.Password)
  cmd.Parameters("@TrueName") = RealString(Me.TrueName)
  cmd.Parameters("@LastLoginTime") = Null
  cmd.Parameters("@UserType") = Me.UserType
  cmd.Parameters("@ID") = Null
  cmd.Parameters("@ReturnValue") = Null
  
  '执行命令
  cmd.Execute

  '由存储过程输出参数决定函数返回值 (自定义枚举)
  AddNew = cmd.Parameters("@ReturnValue").Value

  '获取添加成功后用户信息的ID值
  If AddNew = AddNewOK Then Me.ID = cmd.Parameters("@ID").Value
    
  '释放命令对象
  Set cmd = Nothing
End Function

'更新用户信息
Public Function Update() As gxcUpdate
  On Error Resume Next
  
  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  '为创建Command的参数而使用
  Dim param As ADODB.Parameter

  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "UserUpdate"

  '创建参数并设置各参数的属性
  '以下是输入型参数
  Set param = cmd.CreateParameter("UserID", adInteger, adParamInput, 4, Me.ID)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("UserName", adVarChar, adParamInput, 100, Me.UserName)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("Password", adVarChar, adParamInput, 100, Me.Password)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("TrueName", adVarChar, adParamInput, 10, Me.TrueName)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("LastLoginTime", adDate, adParamInput, 8, Me.LastLoginTime)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("UserType", adBoolean, adParamInput, 4, Me.UserType)
  cmd.Parameters.Append param
  '以下是输出型参数
  Set param = cmd.CreateParameter("ReturnValue", adInteger, adParamOutput)
  cmd.Parameters.Append param

  '执行命令
  cmd.Execute

  '由存储过程输出参数决定函数返回值(自定义枚举)
  Update = cmd.Parameters("ReturnValue").Value

  '释放命令对象
  Set cmd = Nothing
End Function

'删除用户信息
Public Function Delete(lngID As Long) As gxcDelete
  On Error Resume Next
  
  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  '为创建Command的参数而使用
  Dim param As ADODB.Parameter

  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "UserDelete"

  '创建参数并设置各参数的属性
  '以下是输入型参数
  Set param = cmd.CreateParameter("UserID", adInteger, adParamInput, 4, lngID)
  cmd.Parameters.Append param
  '以下是输出型参数
  Set param = cmd.CreateParameter("ReturnValue", adInteger, adParamOutput)
  cmd.Parameters.Append param

  '执行命令
  cmd.Execute

  '由存储过程输出参数决定函数返回值(自定义枚举)
  Delete = cmd.Parameters("ReturnValue").Value

  '释放命令对象
  Set cmd = Nothing
End Function

'验证用户名和密码并获取合法用户信息
Public Function IsValidUser(strUserName As String, strPassword As String, lngUserID As Long, strTrueName As String, lngUserType As Long) As gxcLoginResult
  On Error Resume Next
  
  '使用ADO的内置Command类来调用存储过程
  Dim cmd As New ADODB.Command
  '为创建Command的参数而使用
  Dim param As ADODB.Parameter

  '指定命令对象当前的活动连接
  cmd.ActiveConnection = g_Conn
  '指定命令类型为调用存储过程
  cmd.CommandType = adCmdStoredProc
  '指定命令文本,即要调用的存储过程名
  cmd.CommandText = "IsValidUser"

  '创建参数并设置各参数的属性
  '以下是输入型参数
  Set param = cmd.CreateParameter("UserName", adVarChar, adParamInput, 100, strUserName)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("Password", adVarChar, adParamInput, 100, strPassword)
  cmd.Parameters.Append param
  '以下是输出型参数
  Set param = cmd.CreateParameter("UserID", adInteger, adParamOutput)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("TrueName", adVarChar, adParamOutput, 10)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("UserType", adBoolean, adParamOutput)
  cmd.Parameters.Append param
  Set param = cmd.CreateParameter("ReturnValue", adInteger, adParamOutput)
  cmd.Parameters.Append param

  '执行命令
  cmd.Execute
  
  '由存储过程输出参数决定函数返回值(自定义枚举)
  IsValidUser = cmd.Parameters("ReturnValue").Value

  '合法登录后记录下用户ID、真实姓名和用户类型
  If IsValidUser = ValidUser Then
     lngUserID = cmd.Parameters("UserID").Value
     strTrueName = cmd.Parameters("TrueName").Value
     lngUserType = cmd.Parameters("UserType").Value
  End If
  
  '释放命令对象
  Set cmd = Nothing
End Function

⌨️ 快捷键说明

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