📄 class_info.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 = "class_Info"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Public class_No As Long
Public grade As String
Public director As String
Public classroom_No As Long
Public Sub Init()
class_No = -1
grade = ""
director = -1
classroom_No = -1
End Sub
'删除class_Info
Public Sub Delete(ByVal TmpId As Long)
DB_Connect
SqlStmt = "DELETE FROM class_Info WHERE class_No=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Sub GetInfo(TmpId As Long)
class_No = TmpId
DB_Connect
SqlStmt = "SELECT * FROM class_Info WHERE class_No=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
'读取部门名称
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
grade = TrimStr(ColVal)
'读取部门描述
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
director = TrimStr(ColVal)
'读取上一级部门的编号
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
classroom_No = Val(ColVal)
Else
Init
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Function GetName(ByVal TmpId As Long) As String
DB_Connect
SqlStmt = "SELECT grade FROM class_Info WHERE class_No=" _
+ Trim(Str(TmpId))
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
GetName = TrimStr(ColVal)
Else
GetName = ""
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function GetNewId() As Long
Dim TmpId As Long
DB_Connect
SqlStmt = "SELECT class_No FROM class_Info ORDER BY class_No"
OdbcExt (SqlStmt)
i = 1
Do While SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
TmpId = Val(ColVal)
If TmpId = i Then
i = i + 1
Else
GetNewId = i
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
Exit Function
End If
Loop
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
GetNewId = i
End Function
Public Function HaveEmp(ByVal TmpDepid As Long) As Boolean
DB_Connect
SqlStmt = "SELECT * FROM Employees WHERE class_No=" + Trim(Str(TmpDepid))
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
HaveEmp = False
Else
HaveEmp = True
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function HaveSon(ByVal Tmpclassroom_No As Long) As Boolean
DB_Connect
SqlStmt = "SELECT class_No FROM class_Info WHERE classroom_No=" _
+ Trim(Str(Tmpclassroom_No))
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
HaveSon = False
Else
HaveSon = True
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function In_DB(ByVal DepName As String, _
ByVal DepUpper As Long) As Boolean
DB_Connect
SqlStmt = "SELECT class_No FROM class_Info WHERE grade='" + Trim(DepName) _
+ "' and classroom_No=" + Trim(Str(DepUpper))
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 Function Insert() As Long
' Dim class_No As Long
'生成新的编号
'class_No = GetNewId
DB_Connect
SqlStmt = "INSERT INTO class_Info VALUES(" + Trim(Str(class_No)) + ",'" _
+ Trim(grade) + "','" + Trim(director) _
+ "','" + Trim(Str(classroom_No)) + "')"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
Insert = class_No
End Function
Public Sub Load_class_Info_ByUpper(classroom_No As Long)
Dim i As Integer
'初始化部门数组
Erase Arr_DepName
Erase Arr_Depdirector
Erase Arr_DepId
ReDim Arr_DepName(0)
ReDim Arr_DepId(0)
DB_Connect
SqlStmt = "SELECT class_No,grade,director FROM class_Info WHERE classroom_No=" _
+ Trim(Str(classroom_No)) + " ORDER BY class_No"
OdbcExt (SqlStmt)
i = 0
Do Until SQLFetch(Hstmt) = 100
'读取部门编号
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
ReDim Preserve Arr_DepId(i + 1)
Arr_DepId(i) = Val(ColVal)
'读取部门名称
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
ReDim Preserve Arr_DepName(i + 1)
Arr_DepName(i) = TrimStr(ColVal)
'读取部门描述
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
Arr_Depdirector(i) = Val(ColVal)
i = i + 1
Loop
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
'更新数据
Public Sub Update(ByVal TmpId As Long)
DB_Connect
SqlStmt = "UPDATE class_Info SET grade='" + Trim(grade) _
+ "',director='" + Trim(director) _
+ "',classroom_No='" + Trim(classroom_No) + "' WHERE class_No=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -