getarray.cs

来自「介绍了SQL的一些基本知识,对新手应该很用出的!」· CS 代码 · 共 68 行

CS
68
字号
using System;
using System.Data;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;
using System.IO;
using System.Text;



[Serializable]
[SqlUserDefinedAggregate(
    Format.UserDefined,
    IsInvariantToNulls = true,
    IsInvariantToDuplicates = false,
    IsInvariantToOrder = false,
    MaxByteSize = 8000)
]
public class GetArray : IBinarySerialize
{
    private StringBuilder sb;
    public void Init()
    {
        sb = new StringBuilder();
    }

    public void Accumulate(SqlString Value)
    {
        if (!Value.IsNull)
        {
            sb.Append(Value.Value).Append(",");
        }
    }

    public void Merge(GetArray Group)
    {
        if (Group.sb != null)
        {
            sb.Append(Group.sb);
        }
    }

    public SqlString Terminate()
    {
        if (sb != null)
        {
            return new SqlString(sb.ToString(0, sb.Length - 1));
        }
        else
        {
            return new SqlString("");
        }
    }

    #region IBinarySerialize Members

    public void Read(BinaryReader r)
    {
        sb = new StringBuilder(r.ReadString());
    }

    public void Write(BinaryWriter w)
    {
        w.Write(sb.ToString());
    }

    #endregion
}

⌨️ 快捷键说明

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