📄 users.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 = "Users"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 UserName Char 用户名
'2 UserPwd Char 密码
'3 UserType Tinyint 用户类型(1 - 系统管理员,2 - 项目主管,3 - 业务主管,4 - 软件开发主管,5 - 开发工程师,6 - 测试工程师,7 - 质量控制工程师)
'4 Ename Varchar 用户姓名
Public UserName As String
Public UserPwd As String
Public UserType As Integer
Public Ename As String
Public Sub Init()
UserName = ""
UserPwd = ""
UserType = 0
Ename = ""
End Sub
'删除Users数据
Public Sub Delete(ByVal TmpUser As String)
If TmpUser = "Admin" Then
Exit Sub
End If
DB_Connect
SqlStmt = "DELETE FROM Users WHERE UserName='" + Trim(TmpUser) + "'"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Sub GetInfo(ByVal TmpUser As String)
UserName = Format(TmpUser, "<")
If TmpUser = "" Then
Init
Exit Sub
End If
DB_Connect
SqlStmt = "SELECT * FROM Users WHERE UserName='" + Trim(TmpUser) + "'"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
UserPwd = TrimStr(ColVal)
ColVal = String(4, 0)
Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
UserType = Val(ColVal)
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
Ename = TrimStr(ColVal)
Else
Init
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Function GetPwd(ByVal TmpUser As String) As String
UserName = TmpUser
DB_Connect
SqlStmt = "SELECT UserPwd FROM Users WHERE UserName='" _
+ Trim(TmpUser) + "'"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
GetPwd = ""
Exit Function
Else
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Lench(ColVal), pcblen)
GetPwd = TrimStr(ColVal)
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function In_DB(ByVal TmpUser As String) As Boolean
DB_Connect
SqlStmt = "SELECT * FROM Users WHERE UserName='" + Trim(TmpUser) + "'"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
In_DB = False
Else
In_DB = True
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Sub Insert()
DB_Connect
SqlStmt = "INSERT INTO Users Values('" _
+ Trim(UserName) + "','" + Trim(UserPwd) _
+ "'," + Trim(Str(UserType)) + ",'" + Trim(Ename) + "')"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
'根据用户类型读取员工姓名到Arr_Ename()数组中
Public Function LoadEname(ByVal TmpType As Integer) As String
Dim i As Integer
Erase Arr_Ename
ReDim Arr_Ename(0)
DB_Connect
SqlStmt = "SELECT Ename FROM Users WHERE UserType=" + Trim(Str(TmpType))
OdbcExt (SqlStmt)
i = 0
Do While SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Lench(ColVal), pcblen)
ReDim Preserve Arr_Ename(i + 1)
Arr_Ename(i) = TrimStr(ColVal)
i = i + 1
Loop
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Sub Update(ByVal TmpUser As String)
DB_Connect
SqlStmt = "Update Users Set UserName='" + Trim(UserName) _
+ "',UserPwd='" + Trim(UserPwd) + "',UserType=" _
+ Trim(Str(UserType)) + ",Ename='" + Trim(Ename) _
+ "' WHERE UserName='" + Trim(TmpUser) + "'"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -