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 + -
显示快捷键?