maxvariance.vb

来自「SQL2005开发指南」· VB 代码 · 共 54 行

VB
54
字号
Imports System
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server


<Serializable()> _
<Microsoft.SqlServer.Server.SqlUserDefinedAggregate(Format.Native)> _
Public Structure MaxVariance

    Public Sub Init()
        m_LowValue = 999999999
        m_HighValue = -999999999
    End Sub

    Public Sub Accumulate(ByVal value As Integer)
        If (value > m_HighValue) Then
            m_HighValue = value
        End If
        If (value < m_LowValue) Then
            m_LowValue = value
        End If
    End Sub

    Public Sub Merge(ByVal Group As MaxVariance)
        If (Group.GetHighValue() > m_HighValue) Then
            m_HighValue = Group.GetHighValue()
        End If
        If (Group.GetLowValue() < m_LowValue) Then
            m_LowValue = Group.GetLowValue()
        End If
    End Sub

    Public Function Terminate() As Integer
        Return m_HighValue - m_LowValue
    End Function

    ' Helper methods
    Private Function GetLowValue() As Integer
        Return m_LowValue
    End Function

    Private Function GetHighValue() As Integer
        Return m_HighValue
    End Function

    ' This is a place-holder field member
    Private m_LowValue As Integer
    Private m_HighValue As Integer

End Structure

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?