⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsscorequery.cls

📁 远程访问sql server 的源码
💻 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 + -