WEB开发网
开发学院数据库MSSQL Server SQL Server2005杂谈(4):在SQL Server2005中按列... 阅读

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

 2009-02-21 10:22:27 来源:WEB开发网   
核心提示: 图7然后在工程中加入一个聚合类(joinstr.cs),如图8所示,SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法(5),图8joinstr.cs中的最终代码如下:usingSystem;usingSystem.Data;usingMicr

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

图7

然后在工程中加入一个聚合类(joinstr.cs),如图8所示。

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

图8

joinstr.cs中的最终代码如下:

usingSystem;
usingSystem.Data;
usingMicrosoft.SqlServer.Server;
usingSystem.Data.SqlTypes;
usingSystem.IO;
usingSystem.Text;
[Serializable]
[SqlUserDefinedAggregate(
  Format.UserDefined,//usecustomserializationtoserializetheintermediateresult
  IsInvariantToNulls=true,//optimizerproperty
  IsInvariantToDuplicates=false,//optimizerproperty
  IsInvariantToOrder=false,//optimizerproperty  
  MaxByteSize=8000)//maximumsizeinbytesofpersistedvalue
]
publicstructjoinstr:IBinarySerialize
{
  privateSystem.Text.StringBuilderintermediateResult;
  
  publicvoidInit()
  {
    //在此处放置代码
    intermediateResult=newSystem.Text.StringBuilder();
  }
  publicvoidAccumulate(SqlStringValue)
  {
    intermediateResult.Append(Value.Value);
  }
  publicvoidMerge(joinstrGroup)
  {
    intermediateResult.Append(Group.intermediateResult);
  }
  publicSqlStringTerminate()
  {
    returnnewSqlString(intermediateResult.ToString());
  }
  publicvoidRead(BinaryReaderr)
  {
    intermediateResult=newStringBuilder(r.ReadString());
  }
  publicvoidWrite(BinaryWriterw)
  {
    w.Write(this.intermediateResult.ToString());
  }
}

上一页  1 2 3 4 5 6  下一页

Tags:SQL Server 杂谈

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接