📄 clsdbmanager.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 = "clsDBManager"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'数据库管理
Private Con As ADODB.Connection
'连接数据库
'参数Pdbc:数据库的配置参数对象(这个参数是clsDBConfig类型的,包括所有配置的属性)
Public Function ConToDB(ByVal Pdbc As clsDBConfig)
Set Con = New ADODB.Connection
Con.ConnectionString = Pdbc.GetConnectionString(Pdbc)
Con.Open
End Function
'关闭数据库的连接
Public Function DisCon()
If Con.State = 1 Then 'State:打开状态(1表示打开)
Con.Close
End If
End Function
'获得记录集
'参数PRst:是返回记录集需要的对象参数(这个参数是clsRstSet类型的,包括所有返回记录集需要的参数)
Public Function GetRs(PRst As clsRstSet) As ADODB.Recordset
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
Rs.Source = PRst.Source 'SQL语句
Rs.ActiveConnection = Con '活动连接
'以下用传入的对象以做动态设置
Rs.CursorLocation = PRst.CursorLocation
Rs.CursorType = PRst.CursorType
Rs.LockType = PRst.LockType
Rs.Open
Set GetRs = Rs '用函数名做返回ADO对象
End Function
'执行SQL语句,但不返回任何记录
Public Function ExecSQL(strSql As String)
Con.Execute strSql
End Function
'把记录集转化成集合
Public Function RsToCollection(Prs As ADODB.Recordset) As Collection 'Prs:记录集类型的
Dim colRs As Collection 'colRs:大盒子
Set colRs = New Collection
Dim colTemp As Collection 'colTemp:小盒子
Prs.MoveFirst
While Not Prs.EOF '在记录集里面循环
Set colTemp = New Collection '实例化小盒子
For i = 0 To Prs.Fields.Count - 1 '记录集里水平方向的循环(每个字段的循环)
colTemp.Add Prs.Fields(i).Value, Prs.Fields(i).Name
Next i
colRs.Add colTemp '把小盒子放在大盒子里面
Prs.MoveNext
Wend
Set RsToCollection = colRs '返回集合
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -