user.cls

来自「VB类实现学生信息管理系统」· CLS 代码 · 共 125 行

CLS
125
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "user"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Public user_Id As String
Public user_pwd As String
Public user_des As Integer
Public State As Integer
Public oper_flag As String



'初始化成员变量,init the class
Private Sub Class_Initialize()
  user_Id = ""
  user_pwd = ""
  user_des = 1 'normal user
  State = 0 '0==>init,1==> existed,2==> unexisted
  oper_flag = ""
End Sub

Public Sub query()
  Dim SQLstmt As String    '存放SQL语句的字符串
  Dim msg_error As String
  Dim tmp_res As ADODB.Recordset
  
  If db.db_state > 0 Then
  
    SQLstmt = "select * FROM user_info " '执行SQL语句"
    Set tmp_res = db.ExecuteSQL(SQLstmt, msg_error)
    
    Me.State = 2 '没有用户存在
    
    While (tmp_res.EOF = False)
            If Trim(tmp_res.Fields("user_id")) = Me.user_Id Then
              Me.State = 1 '有用户存在
              Me.user_Id = Trim(tmp_res.Fields("user_id"))
              Me.user_pwd = Trim(tmp_res.Fields("user_pwd"))
              Me.user_des = Trim(tmp_res.Fields("user_des"))
              Exit Sub
            Else
                tmp_res.MoveNext
            End If
    Wend
    
   
 End If
 
     Set tmp_res = Nothing
End Sub
'删除数据
Public Sub delete() '对类本身进行处理
  Dim SQLstmt As String    '存放SQL语句的字符串
  Dim msg_error As String
 
  If login_user.user_des = 0 Then ' admin
    If db.db_state > 0 Then
  
     SQLstmt = "DELETE FROM user_info WHERE user_Id like  " + "'" + Me.user_Id + "'" '执行SQL语句
  
     Call db.ExecuteSQL(SQLstmt, msg_error)
     If InStr(msg_error, "delete_ok") > 0 Then
        Me.oper_flag = "delete ok"
     Else
        Me.oper_flag = "delete error"
     End If
    End If
  
  End If
End Sub

Public Sub insert() '对类本身进行处理
  
  Dim SQLstmt As String    '存放SQL语句的字符串,
  Dim msg_error As String
  If login_user.user_des = 0 Then
     
     If db.db_state > 0 Then '数据库是否打开
      Call query
       If Me.State = 2 Then 'unexisted,add it to database
          
          SQLstmt = "Insert Into user_info  Values('" & Me.user_Id & "','" & DigestStrToHexStr(Me.user_pwd) & "'," & Me.user_des & ")"
          Call db.ExecuteSQL(SQLstmt, msg_error)
          
          If InStr(msg_error, "insert_ok") > 0 Then
             oper_flag = "insert_ok"
          Else
             oper_flag = "insert_error"
          End If
          
       End If
     End If
  End If
    
End Sub

Public Sub Update() 'only update user's password
 Dim SQLstmt As String    '存放SQL语句的字符串,
 Dim msg_error As String
  If db.db_state > 0 Then '数据库是否打开
       SQLstmt = "UPDATE user_info SET user_pwd='" + DigestStrToHexStr(Me.user_pwd) + "' where user_id like '" + login_user.user_Id + "'"
        Call db.ExecuteSQL(SQLstmt, msg_error)
          
          If InStr(msg_error, "update_ok") > 0 Then
             oper_flag = "update_ok"
          Else
             oper_flag = "update_error"
          End If
  End If
End Sub




⌨️ 快捷键说明

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