📄 types.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 = "Types"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 Id 数字 长整型 分类编号
'2 TypeName 文本 长度 50 分类名称
'3 TypeId 数字 字节 种类的编号,1-表示汽车分类;2-表示保险分类
'4 Description 文本 长度 200 分类描述
Public Id As Long
Public TypeName As String
Public TypeId As Integer
Public Description As String
Public Sub Init()
TypeName = ""
TypeId = 1
Description = ""
End Sub
'删除Type
Public Sub Delete(ByVal TmpId As Long)
SqlStmt = "DELETE FROM Types WHERE Id=" + Trim(TmpId)
SQLExt (SqlStmt)
End Sub
Public Function In_DB(ByVal TmpTypeName As String, ByVal TmpTid As Integer) As Boolean
Dim rs As New ADODB.Recordset
SqlStmt = "SELECT * FROM Types WHERE TypeName='" _
+ Trim(TmpTypeName) + "' AND TypeId=" + Trim(Str(TmpTid))
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
In_DB = False
Else
In_DB = True
End If
End Function
'读取当前类型记录
Public Function GetInfo(ByVal TmpId As Long) As Boolean
Dim rs As New ADODB.Recordset '定义结果集对象
'设置SELECT语句,读取编号为TmpId的记录
SqlStmt = "SELECT * FROM Types WHERE Id=" + Trim(TmpId)
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF Then
'如果结果集为空,则初始化
Init
GetInfo = False
Else
'将结果集中的数据赋值到成员变量中
If IsNull(rs.Fields(0)) Then '类型编号
Id = 0
Else
Id = rs.Fields(0)
End If
If IsNull(rs.Fields(1)) Then '类型名称
TypeName = ""
Else
TypeName = rs.Fields(1)
End If
If IsNull(rs.Fields(2)) Then '种类编号
TypeId = 1
Else
TypeId = rs.Fields(2)
End If
If IsNull(rs.Fields(3)) Then '类型描述
Description = ""
Else
Description = rs.Fields(3)
End If
GetInfo = True
End If
End Function
'读取指定种类编号下的类型信息
Public Sub GetInfoByTypeId(ByVal TmpTypeId As Integer)
Dim rs As New ADODB.Recordset '定义结果集对象
Dim i As Long
'对数组进行初始化
Erase Arr_Type
ReDim Arr_Type(0)
Erase Arr_Id
ReDim Arr_Id(0)
'设置SQL语句
SqlStmt = "SELECT * FROM Types WHERE TypeId=" + Trim(TmpTypeId)
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
i = 0
'依次把读取的数据赋值到数组中
While Not rs.EOF
ReDim Preserve Arr_Id(i + 1)
ReDim Preserve Arr_Type(i + 1)
Arr_Id(i) = rs.Fields(0)
Arr_Type(i) = rs.Fields(1)
i = i + 1
rs.MoveNext
Wend
End Sub
'返回指定类型编号的类型名称
Public Function GetTypeNames(ByVal TmpTypeIds As String) As String
Dim rs As New ADODB.Recordset '定义结果集对象
Dim i As Integer
i = 0
GetTypeNames = "" '返回值初始化
'设置SQL语句
SqlStmt = "SELECT * FROM Types WHERE Id IN(" + Trim(TmpTypeIds) + ")"
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
While Not rs.EOF
If i = 0 Then '第一次添加到字符串
GetTypeNames = rs.Fields(1)
Else '用逗号分隔类型名称
GetTypeNames = GetTypeNames + "," + rs.Fields(1)
End If
i = i + 1
rs.MoveNext
Wend
End Function
'插入分类
Public Sub Insert()
SqlStmt = "INSERT INTO Types(TypeName,TypeId,Description) VALUES('" + Trim(TypeName) + "'," _
+ Trim(TypeId) + ",'" + Trim(Description) + "')"
SQLExt (SqlStmt)
End Sub
'更新数据
Public Sub Update(ByVal TmpId As Long)
SqlStmt = "UPDATE Types SET TypeName='" + Trim(TypeName) _
+ "',Description='" + Trim(Description) + "' Where Id = " + Trim(Str(TmpId))
SQLExt (SqlStmt)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -