concatenate.cs

来自「sqlserver scripts from ch 14 in zip file」· CS 代码 · 共 52 行

CS
52
字号
using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate(Format.UserDefined,
 MaxByteSize = 4000)]
public struct Concatenate : IBinarySerialize
{
    private StringBuilder tempValue;

    public void Init()
    {
        this.tempValue = new StringBuilder();
    }

    public void Accumulate(SqlString inString)
    {
        if (inString.IsNull)
            return;

        this.tempValue.Append(inString.Value);
        this.tempValue.Append(";");
    }

    public void Merge(Concatenate group)
    {
        this.tempValue.Append(group.tempValue);
    }

    public SqlString Terminate()
    {
        if (this.tempValue != null && this.tempValue.Length != 0)
            return this.tempValue.ToString();
        else
            return new SqlString();
    }

    public void Read(System.IO.BinaryReader r)
    {
        this.tempValue = new StringBuilder(r.ReadString());
    }

    public void Write(System.IO.BinaryWriter w)
    {
        w.Write(this.tempValue.ToString());
    }
}

⌨️ 快捷键说明

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