📄 clsscorequery.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 = "clsScoreQuery"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
'定义个内部表单frmScoreQuery的实例类型,
Private frmQuery As New frmScoreQuery
'local variable(s) to hold property value(s)
'定义字符串变量,用以存储一条查询语句
Private mstrQuerySql As String 'local copy
'定义属性变量,用以存储内部表单返回的记录集
Private mrsQuery As ADODB.Recordset 'local copy
'定义属性变量,用以存储从外部应用程序传入的源记录集
Private mrsSource As ADODB.Recordset 'local copy
'定义个Command对象,用来取得记录集
Private mcommQuery As ADODB.Command 'local copy
'定义一个数据库的链接,用来获取记录集之用
Private mcnnQuery As ADODB.Connection 'local copy
'定义公用方法,从外部获取查询数据库时所需的源记录集
'这样就避免了直接对类的属性赋值的方法
Public Sub InitDB(ByVal temConn As ADODB.Connection, ByVal temRs As ADODB.Recordset)
Set cnnQuery = temConn
Set rsSource = temRs
End Sub
Public Property Set cnnQuery(ByVal vData As ADODB.Connection)
Set mcnnQuery = vData
End Property
Public Property Get cnnQuery() As ADODB.Connection
Set cnnQuery = mcnnQuery
End Property
Public Property Set commQuery(ByVal vData As ADODB.Command)
Set mcommQuery = vData
End Property
Public Property Get commQuery() As ADODB.Command
Set commQuery = mcommQuery
End Property
Public Property Set rsSource(ByVal vData As ADODB.Recordset)
Set mrsSource = vData
End Property
Public Property Get rsSource() As ADODB.Recordset
Set rsSource = mrsSource
End Property
Public Property Set rsQuery(ByVal vData As ADODB.Recordset)
Set mrsQuery = vData
End Property
Public Property Get rsQuery() As ADODB.Recordset
Set rsQuery = mrsQuery
End Property
Public Property Let strQuerySql(ByVal vData As String)
mstrQuerySql = vData
End Property
Public Property Get strQuerySql() As String
strQuerySql = mstrQuerySql
End Property
'methods:
'用户自定义方法,用来调用并显示内部的表单
'这里将以模态的方式显示表单
Public Sub ShowQueryForm()
'为ActiveX DLL内部的表单设置源记录集
Set frmQuery.rsFrmSource = rsSource '利用类和窗体的属性来交换数据,在
'在调用dll的应用程序中设定类的数据库链接属性
'这个链接属性要提供给内部表单使用,用来链接数据库
Set frmQuery.cnnFrmQuery = cnnQuery
frmQuery.Show vbModal
'返回查询窗体所得的记录集给类的查询结
'果记录集(类的一个属性),以备其他程序所用
Set rsQuery = frmQuery.rsFrmQuery
'*************************************
'以上的过程即完成了数据交换过程
'*************************************
End Sub
'定义链接数据库返回记录集的方法
'内部表单也可以调用这个方法,具体调用方法在
'内部表单的代码中将会解释
Public Function GetRecordSet(strSql As String, conn As ADODB.Connection) As ADODB.Recordset
'功 能:获取ADO记录集
'参 数:
' 输入: strSQL String 用于查询SQL数据库的SQL语句
' 输出: GetRecordSet Recordset 返回的记录集
On Error GoTo err
Dim rsTemp As ADODB.Recordset
Set rsTemp = New ADODB.Recordset
Dim cnnTemp As ADODB.Connection
Set cnnTemp = conn
rsTemp.CursorType = adOpenKeyset
rsTemp.LockType = adLockOptimistic
rsTemp.Source = strSql
Set rsTemp.ActiveConnection = cnnTemp
rsTemp.Open
Set GetRecordSet = rsTemp
Exit Function
err:
MsgBox err.Number & " " & err.Description
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -